Python:查看文件的編碼格式-chardet

  1. 概述
    Python提供了Unicode表示的str和bytes兩種數(shù)據(jù)類型,并且可以通過encode()和decode()方法轉換,前提是知道哪種編碼。如果不知道,可以使用chardet來檢測編碼。

  2. 安裝

pip install chardet
  1. 語法
import chardet

file_path = "E:\\test.txt"
with open(file_path,"rb") as obj:
    data = obj.read()

file_encoding = chardet.detect(data)
print(file_encoding)  # {'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}

其中,encoding為檢測出的編碼,confidence為可信度, language是語言。
另外一個例子:

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

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

注意:chardet支持檢測的編碼列表請參考官方文檔Supported encodings。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 二進制數(shù)據(jù) 本篇內(nèi)容主要介紹二進制數(shù)據(jù)的編解碼問題,涉及的模塊有 base64、struct、chardet。 b...
    大夢三千秋閱讀 909評論 0 1
  • datetime是Python處理日期和時間的標準庫。 獲取當前日期和時間 我們先看如何獲取當前日期和時間: >>...
    jbb_43b0閱讀 1,176評論 0 0
  • 摘要:chardet是一個非常強大的編碼檢測模塊 *寫在前面:為了更好的學習python,博主記錄下自己的學習路程...
    三貝_閱讀 579評論 0 0
  • 編碼 編碼底層的東西我也不懂,就不細說了。簡單的來說:為了讓電腦能識別世界上所有語言編寫的代碼,為每一個文字編寫了...
    隨風而去_c0e8閱讀 1,127評論 0 0
  • 若想技術精進,當然得把基礎知識打得牢牢的。 廖雪峰的官方網(wǎng)站 python3教程,該網(wǎng)站提供的教程淺顯易懂,還附帶...
    布口袋_天晴了閱讀 715評論 0 0

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