我收到了一些经过编码的文本,但我不知道使用了什么字符集。有没有办法使用 Python 确定文本文件的编码?如何检测处理 C# 的文本文件的编码/代码页。
编辑:chardet 似乎无人管理,但大多数答案都适用。检查https://pypi.org/project/charset- normalizer/以获取替代方案
始终正确检测编码是 不可能 的。
(来自chardet常见问题解答:)
但是,某些编码针对特定语言进行了优化,并且语言不是随机的。一些字符序列一直弹出,而其他序列则毫无意义。一个英语流利的人打开报纸发现“沨xzqJv 2!dasd0a QqdKjvz”会立即认出那不是英语(尽管它完全由英文字母组成)。通过研究大量“典型”文本,计算机算法可以模拟这种流畅度,并对文本的语言做出有根据的猜测。
有使用该研究来尝试检测编码的chardet库。chardet 是 Mozilla 中自动检测代码的一个端口。
您也可以使用UnicodeDammit。它将尝试以下方法: