計(jì)算機(jī)編碼

字符編碼格式

  • ASCII(美國信息交換標(biāo)準(zhǔn)代碼)127個(gè)字符,一個(gè)字符就是一個(gè)字節(jié)
  • GB2312 2字節(jié),16位
  • Unicode,統(tǒng)一編碼,2字節(jié)
  • UTF-8.可變長編碼。一個(gè)字符編成1-6個(gè)字節(jié)。一個(gè)英文字符一個(gè)字節(jié),漢字三個(gè)字節(jié),生僻字符4-6個(gè)字節(jié)。

計(jì)算機(jī)內(nèi)存中的編碼格式都是Unicode。我們看到的瀏覽器前端都是服務(wù)器轉(zhuǎn)換Unicode字符為UTF-8格式傳遞過來的

字符集轉(zhuǎn)化(python)

Unicode編碼
其他編碼(中國編碼集合(GB2312,GBK,GB18030)和其他國家編碼)
UTF8
編碼轉(zhuǎn)換,Unicode進(jìn)行encode變成其他編碼。其他編碼進(jìn)行decode變成unicode。

gb2312----<decode>----unicode----<encode>---utf8

  • 注意
    python3默認(rèn)字符串就是unicode編碼。
  • 舉例

encode()中參數(shù)表示unicode要轉(zhuǎn)換成的編碼---目的編碼
decode()中參數(shù)表示要轉(zhuǎn)換成unicode的源編碼--源編碼

>>> a = '你好'
>>> a
'你好'
>>> b = a.encode('utf8')
>>> b
b'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> c = b.decode('utf8')
>>> c
'你好'
>>> c.encode('gb2312')
b'\xc4\xe3\xba\xc3'
>>>utf8編碼格式
>>> a,b,c = bin(0xe4),bin(0xbd),bin(0xa0)
>>> a,b,c
('0b11100100', '0b10111101', '0b10100000')
>>>--------
>>>b = '閆'
>>> b.decode('gb2312')
u'\u95eb'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容