python3中的UNICODE 與 UTF-8的簡單關係

一.字符集:

  • 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 內存中使用的字符串全部是 unicode 碼,但是網絡傳輸的數據或者從磁盤讀取的數據是把 unicode 碼轉換過的數據,通常情況下可能是 utf-8 格式的數據,所以如果從網絡中讀取或者磁盤中讀取其實就是把 utf-8 格式的數據解碼成 unicode 碼數據,相反如果想把內存中 unicode 碼數據存儲到磁盤或者網絡中需要對 unicode 碼進行編碼,通常可以採用 utf-8 的形式進行編碼

python3解釋器中自帶UTF-8編碼器,python2中不自帶,所以需要手動設置: #coding:utf-8


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章