1. 程式人生 > >python中的編碼

python中的編碼

編碼

ascii碼

            一個字元佔8位,用一個位元組表示
            A:00000010 8位 一個位元組
Unicode
   一個字元佔32位,用四個位元組表示
   A :00000000 00000001 00000010 00000100 32位 四個位元組
   中:00000000 00000001 00000010 00000110

utf-8
   A:00000010 8位 一個位元組
   中:00000000 00000001 00000110 24位 三個位元組

gbk:
   A:00000010 8位 一個位元組
   中:00000000 00000110 16位 兩個位元組

注意:
          1. 各個編碼的二進位制不能互相識別,會產生亂碼
          2. 檔案的儲存、傳輸,不能是Unicode(只能是utf-8/16/gbk/gbk2312/ascii碼進行儲存和傳輸)

python3中
字串在記憶體中使用Unicode儲存的
bytes型別編碼方式:utf-8,gbk,gb2313,ascii
對於英文:
                str:

                         表現形式 s='alex'
                         編碼方式 010101010 unicode
                bytes:

                         表現形式 s=b'alex'
                         編碼方式 000101010 utf-8/gbk
對於中文:
                         str:

                                表現形式 s='中國'
                                編碼方式 010101010 unicode
                        bytes:

                               表現形式 s=b'x\e91\e91\e01\e21\e31\e32'
                               編碼方式 000101010 utf-8/gbk....
將str轉換成bytes型別(傳輸和儲存必須是bytes型別)

s1='alex'
s2=s1.encode('utf-8')
print(s2) #b'alex'