PYTHON-字符編碼

day07字符編碼複習:    1. 字符編碼:字符編碼就是字符與數字的對應關係表    計算機要想工做必須通電,即用‘電’驅使計算機幹活,也就是說‘電’的特性決定了計算機的特性。        電的特性即高低電平(人類從邏輯上將二進制數1對應高電平,二進制數0對應低電平),        關於磁盤的磁特性也是一樣的道理。結論:計算機只認識數字  很明顯,咱們平時在使用計算機時,用的都是人類能讀懂的字符        (用高級語言編程的結果也無非是在文件內寫了一堆字符),如何能讓計算機讀懂人類的字符?  必須通過一個過程:      #字符--------(翻譯過程)------->數字      #這個過程實際就是一個字符如何對應一個特定數字的標準,這個標準稱之爲字符編碼        ASCII:只能識別英文字符,1Bytes=1英文字符        GBK:能夠識別中文字符與英文字符串,2Bytes=1中文字符 1Bytes=1英文字符        Unicode            1. 可以兼容萬國字符            2. 與其餘任意編碼的二進制數都有映射關係                unicode格式------編碼encode------->GBK格式的二進制數                GBK格式的二進制數-------解碼decode------->unicode格式        UTF-8:unicode的轉換格式,3Bytes=1中文字符  1Bytes=1英文字符    2. 在python中字符編碼的應用:        1. 保證執行python程序的前兩個階段不亂碼,加文件頭            在文件的首行寫入: #coding:文件存的時候用的編碼        2. 字符串類型演變:            python2有兩種"字符串"相關類型:                種類一:#coding:gbk,x='上' # '上'存成了GBK編碼後的二進制                種類二:x=u'上' # '上'存成了unicode編碼後的二進制            python3有兩種"字符串"相關類型                x='上' # '上'存成了unicode編碼後的二進制                res=x.encode('gbk') #gbk格式的二進制    3. 總結:            1. 保證不亂碼的核心法則:以什麼編碼存的就應該以什麼編碼取            2. 在python2中定義字符串,應該加上前綴u,好比x=u'你好'            3. 在編寫python文件時,必須加文件頭:#coding:文件存的時候用的編碼                英文字節    中文字節            unicode   2     2            utf-8     1     3            gbk       1     2            ascii     1
相關文章
相關標籤/搜索