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