python的編解碼(utf-8與gbk互轉(zhuǎn))

演示

python內(nèi)部字符串統(tǒng)一是用unicode來存的,但是字符串在初始化的時(shí)候會因?yàn)椴僮飨到y(tǒng)環(huán)境而有差異

下面是在Linux環(huán)境下(UTF-8)初始化字符串

>>> d = '測試'
>>> d
'\xe6\xb5\x8b\xe8\xaf\x95'

轉(zhuǎn)成unicode,可以看到變成了u開頭的一堆字符,這個(gè)時(shí)候就可以轉(zhuǎn)碼了

>>> d = d.decode('utf-8')
>>> d
u'\u6d4b\u8bd5'

轉(zhuǎn)成GBK編碼

>>> d = d.encode('gbk')
>>> d
'\xb2\xe2\xca\xd4'

總結(jié):

  • decode操作,把編碼后的字符串轉(zhuǎn)成未編碼的unicode
  • encode操作,將unicode轉(zhuǎn)成編碼后的字符串

智能判斷編碼類型

>>> import chardet

>>> d = d.encode('utf-8')
>>> chardet.detect(d)
{'confidence': 0.7525, 'language': '', 'encoding': 'utf-8'}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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