python3中的UNICODE 與 UTF-8的簡單關係
阿新 • • 發佈:2019-01-04
一.字符集:
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
的形式進行編碼