chardet.detect()
返回一个字典,该字典提供编码作为与键关联的值'encoding'
。因此,您可以执行以下操作:
import chardet
rawdata = open(infile, 'rb').read()
result = chardet.detect(rawdata)
charenc = result['encoding']
该chardet
文档并未明确说明是否应将文本字符串和/或字节字符串与该模块一起使用,但是它的理由是,如果您有文本字符串,则不需要对其进行字符检测,因此您应该可能正在传递字节字符串。因此b
,对的调用中的二进制模式标志()open()
。但是chardet.detect()
也可以根据文本字符串来使用,具体取决于您所使用的Python版本和所用的库版本,即,如果您确实忽略了b
它,那么即使您在技术上做错了事情,也可能会发现它仍然可以工作。