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

Python09

Python:查看文件的编码格式-chardet,第1张

其中, encoding 为检测出的编码, confidence 为可信度, language 是语言。

另外一个例子:

检测的编码是GB2312,注意到GBK是GB2312的超集,两者是同一种编码,检测正确的概率是74%,language字段指出的语言是'Chinese'。

注意:chardet支持检测的编码列表请参考官方文档 Supported encodings 。

使用chardet库。它会去猜测文本文件的编码,并返回形如:

编码类型:utf-8

置信度:0.9

这样的结果,也就是说chardet断定该文件有90%的可能性是utf-8编码的。

不过chardet的缺陷就是,它不能完全100%确定文件的编码类型。

目前我的做法是,如果置信度超过0.95,那么就认定chardet的判断结果是正确的。否则,再加上一些人机交互操作进行判断。

目前,chardet库官网提供的版本只适用于Python 2,如果您使用的是Python 3.x,我可以另外上传一个。