当前位置: 首页 > 面试题库 >

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

别峻
2023-03-14
问题内容

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


问题答案:

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

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

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

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


 类似资料:
  • 问题内容: 我想看看确定python中当前脚本目录的最佳方法是什么? 我发现由于调用python代码的方式很多,很难找到一个好的解决方案。 这里有一些问题: 如果脚本与执行没有定义 仅在模块中定义 用例: ./myfile.py python myfile.py ./somedir/myfile.py python somedir/myfile.py execfile(‘myfile.py’) (

  • 我不能正确使用“float:right”在它上有没有一个解决方案,将它定位在div的右侧部分,而不使用(左右边距-左边距-右)? null null

  • 我怎么知道我在我的Android Studio里使用的是哪个版本的Gradle?请引导。 我想确定我使用的是Gradle版本2.2.1。

  • 问题内容: 以编程方式确定输入流/文件的正确字符集编码的最佳方法是什么? 我尝试使用以下方法: 但是在我知道要用ISO8859_1编码的文件上,上面的代码会产生ASCII,这是不正确的,并且不允许我将文件的内容正确地呈现回控制台。 问题答案: 无法确定任意字节流的编码。这就是编码的本质。编码是指字节值与其表示形式之间的映射。因此,每种编码“都可以”是正确的。 的getEncoding()方法将返回

  • 本文向大家介绍如何用python在Selenium中编写文本文件?,包括了如何用python在Selenium中编写文本文件?的使用技巧和注意事项,需要的朋友参考一下 通过首先创建一个txt文件并在其中包含内容,我们可以使用python在Selenium中编写文本文件。 首先,我们需要以写模式打开文件,并以文本文件的位置路径作为参数。有多种读取方法可以执行这些操作。 write()–将字符串写在一

  • 问题内容: 我如何查看变量的类型(无符号32位,带符号16位等)? 问题答案: 与的类型不同,这似乎是你的问题。 尝试这个: 不过,在Python 3.0中int和long之间的区别消失了。