Python:查看文件的编码格式-chardet

  1. 概述
    Python提供了Unicode表示的str和bytes两种数据类型,并且可以通过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。

你可能感兴趣的:(Python:查看文件的编码格式-chardet)