1. 程式人生 > >import chardet 檢視字元編碼

import chardet 檢視字元編碼

參考:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001510905171877ca6fdf08614e446e835ea5d9bce75cf5000

 

chardet.detect(b'Hello, world!')
{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}

檢測出的編碼是ascii,注意到還有個confidence欄位,表示檢測的概率是1.0(即100%)

 

>>> data = '離離原上草,一歲一枯榮'.encode('gbk')
>>> chardet.detect(data)
{'encoding': 'GB2312', 'confidence': 0.7407407407407407, 'language': 'Chinese'}

檢測的編碼是GB2312,注意到GBK是GB2312的超集,兩者是同一種編碼,檢測正確的概率是74%,language欄位指出的語言是'Chinese'

 

對UTF-8編碼進行檢測:

>>> data = '離離原上草,一歲一枯榮'.encode('utf-8')
>>> chardet.detect(data)
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}

 

>>> data = '最新の主要ニュース'.encode('euc-jp')
>>> chardet.detect(data)
{'encoding': 'EUC-JP', 'confidence': 0.99, 'language': 'Japanese'}

 

總結:要檢視字串編碼,要先解碼成對應的碼,data = '離離原上草,一歲一枯榮'.encode('utf-8'),如果改成 data = '離離原上草,一歲一枯榮'.encode('euc-jp') 會報錯