Nik*_*as9 10 python encoding chardet
我正在编写一个应用程序,它需要大量的文本作为输入,可以是任何字符编码,我想以UTF-8保存它们.我不会接收或不信任随数据定义的字符编码(如果有的话).
我有一段时间使用Pythons库chardet检测原始字符编码http://pypi.python.org/pypi/chardet,但最近遇到了一些问题,我发现它不支持斯堪的纳维亚语编码(例如ISO-8859-1).除此之外,获取结果需要大量的时间/ CPU/mem.对于2MB的文本文件,大约40秒.
我试过使用标准的Linux文件
file -bi name.txt
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的所有文件都为我提供了100%的结果.对于2MB的文件,这个约为0.1s.它也支持斯堪的纳维亚字符编码.
所以,我猜使用文件的优势很明显.有什么缺点?我错过了什么吗?
由于不完全标准的编码,旧的 MS-DOS 和 Windows 格式的文件可以被检测为未知 8 位而不是 ISO-8859-X。相反,Chardet 将进行有根据的猜测,报告置信值。
http://www.faqs.org/faqs/internationalization/iso-8859-1-charset/
如果您不会处理旧的、异国情调的、不合标准的文本文件,我认为您可以file -i毫无问题地使用。
| 归档时间: |
|
| 查看次数: |
5112 次 |
| 最近记录: |