天天看點

python字元編碼

python字元編碼

最早的字元編碼标準:ASCII

    127個字元,沒有中文

    1個英文字母需要1個位元組

        8個位=1位元組

        1024位元組=1kb

        1024kb=1MB

後來為了擴充中文支援,出現了GB2312、GBK後來出現Unicode

    把所有語言統一到一套編碼裡

    每個字元占用2個位元組

最後出現UTF-8 (unicode的壓縮和優化)

    1個英文 1個位元組

    1個中文 3個位元組

python3.X 預設unicode編碼,預設支援中文

    python3.X 輸入英文用的ASCII編碼,占用1個位元組。

    python3.X 輸入中文用UTF-8編碼,占用3個位元組。

python2.X 預設ASCII編碼,無法支援中文

    支援中文方式:

    #!/bin/bash/env python    #解釋器

    #_*_ coding:utf-8 _*_     #支援中文,用utf-8格式編碼中文。

encode 編碼

decode 解碼

python3.X socket傳輸資料必須是 二進制 才能傳輸。

b開頭是 二進制bytes類型。

轉換舉例:

msg = "你好"

print(msg.encode(encoding="utf-8"))   括号裡不指定編碼,預設使用utf-8編碼

print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))

python2.X會以系統預設編碼進行編碼

     本文轉自506554897 51CTO部落格,原文連結:http://blog.51cto.com/506554897/1906358,如需轉載請自行聯系原作者