一.字符集:
ascii
ISO-8859-1
通常叫 做Latin-1
,向下兼容ASCII,此字符集支持部分於歐洲使用的語言GB2312/GBK
這就是漢字的國標碼,專門用來表示漢字,是雙字節編碼,而英文字母和iso8859-1一致(兼容iso8859-1編碼)。其中gbk編碼能夠用來同時表示繁體字和簡體字,而gb2312只能表示簡體字,gbk是兼容gb2312編碼的。unicode
萬國碼
二.Unicode 與 UTF 之間的簡單關係:
UTF
Unicode Transformation Format,通用傳輸格式UTF-8
8-bit Unicode Transformation Format
UTF-8 是一種 Unicode 的編碼方式,主要作用對 Unicode 碼的數據進行轉換,轉換後方便存儲和網絡傳輸
三.Python3 中的字節串與字符串 之間的區別:
- 節串(二進制數據,bytes)
- 字符串(Unicode碼數據,2個字節作爲一個字)
四.Python3 中編碼:
- 二進制 -> 轉換 -> 字符串 需要解碼 decode
- 字符串 -> 轉換 -> 二進制 需要編碼 encode
python3解釋器中自帶UTF-8編碼器,python2中不自帶,所以需要手動設置: #coding:utf-8python3 內存中使用的字符串全部是
unicode
碼,但是網絡傳輸的數據或者從磁盤讀取的數據是把unicode
碼轉換過的數據,通常情況下可能是utf-8
格式的數據,所以如果從網絡中讀取或者磁盤中讀取其實就是把utf-8
格式的數據解碼成unicode
碼數據,相反如果想把內存中unicode
碼數據存儲到磁盤或者網絡中需要對unicode
碼進行編碼,通常可以採用utf-8
的形式進行編碼