字符編碼格式
- ASCII(美國信息交換標準代碼)127個字符,一個字符就是一個字節(jié)
- GB2312 2字節(jié)暖璧,16位
- Unicode音半,統(tǒng)一編碼,2字節(jié)
- UTF-8.可變長編碼玖喘。一個字符編成1-6個字節(jié)甩牺。一個英文字符一個字節(jié),漢字三個字節(jié)累奈,生僻字符4-6個字節(jié)贬派。
計算機內(nèi)存中的編碼格式都是Unicode。我們看到的瀏覽器前端都是服務(wù)器轉(zhuǎn)換Unicode字符為UTF-8格式傳遞過來的
字符集轉(zhuǎn)化(python)
Unicode編碼
其他編碼(中國編碼集合(GB2312澎媒,GBK搞乏,GB18030)和其他國家編碼)
UTF8
編碼轉(zhuǎn)換,Unicode進行encode變成其他編碼戒努。其他編碼進行decode變成unicode请敦。
gb2312----<decode>----unicode----<encode>---utf8
- 注意
python3默認字符串就是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'