Python-如何确定文本的编码?

发布于 2021-02-02 23:23:19

我收到了一些经过编码的文本,但是我不知道使用了什么字符集。有没有办法使用Python确定文本文件的编码?如何检测 C#处理的文本文件的编码/代码页。

关注者
0
被浏览
159
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    但是,某些编码针对特定语言进行了优化,并且语言不是随机的。某些字符序列始终弹出,而其他字符序列毫无意义。一个会说英语的人,打开报纸发现“ txzqJv 2!dasd0a QqdKjvz”,会立即意识到这不是英语(即使它完全由英文字母组成)。通过研究大量“典型”文本,计算机算法可以模拟这种流利程度,并对文本的语言做出有根据的猜测。

    有一个chardet库使用该研究来尝试检测编码。chardetMozilla中自动检测代码的端口。

    你也可以使用UnicodeDammit。它将尝试以下方法:

    • 在文档本身中发现的编码:例如,在XML声明或(对于HTML文档)http等效的META标记中。如果Beautiful Soup在文档中找到这种编码,它将从头开始再次解析该文档,然后尝试使用新的编码。唯一的例外是,如果你明确指定了一种编码,并且该编码确实起作用:那么它将忽略它在文档中找到的任何编码。
    • 通过查看文件的前几个字节来嗅探编码。如果在此阶段检测到编码,它将是UTF- *编码,EBCDIC或ASCII之一。
    • chardet库嗅探到的编码(如果已安装)。
    • UTF-8
    • Windows-1252


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看