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

演示

python內(nèi)部字符串統(tǒng)一是用unicode來存的,但是字符串在初始化的時候會因為操作系統(tǒng)環(huán)境而有差異

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

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

轉(zhuǎn)成unicode,可以看到變成了u開頭的一堆字符,這個時候就可以轉(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)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容