【问题标题】:reading text with two different encoding types using ftfy使用 ftfy 读取具有两种不同编码类型的文本
【发布时间】:2017-09-21 08:41:34
【问题描述】:

我正在尝试使用 python ftfy 库读取具有混合编码类型的文本。当文本不混合时,这个库会给出很好的结果,即

>>> print(ftfy.fix_text('ünicode'))
ünicode

但是如果文本是混合的,那么就会得到这样的结果,即

>>> print(ftfy.fix_text('Hi to ℙℽ☂ℌϕℿ ünicode'))
ℙℽ☂ℌϕℿ ünicode

这是这个库无法处理的事情吗?有没有办法读取混合编码类型的文本?我还阅读了一些关于 python 和 unicode 的信息,但没有找到如何处理文本具有不同编码类型的好例子。

【问题讨论】:

  • 谢谢你让我知道这个图书馆,顺便说一句!
  • 是的,看起来很有用的库...

标签: python-3.x unicode encoding utf-8


【解决方案1】:

根据the docsftfy逐行工作。因此,在一行内,它不会应用多个编码修复。

如果原始编码不同的部分在不同的行上,它会按预期工作:

>>> print(ftfy.fix_text('Hi to ℙℽ☂ℌϕℿ \nünicode'))
Hi to ℙℽ☂ℌϕℿ 
ünicode

【讨论】:

  • Shadow,如果我的回答帮助你解决了你的问题,你可以通过点击投票箭头下方的复选标记来“接受”它。
  • 当然有帮助...我只是想知道如果我们有一个具有这种混合编码类型的文件并使用 python 来读取该文件,里面的一些文本需要用 utf-8 编码和一些其他编码类型。文本编码类型不同时如何处理?
  • 我不确定我是否理解您的评论。您实际上不能拥有具有多种编码的单个文本(文件、流、字符串...)。您在此处显示的 sn-p 已“损坏”;如果使用错误的编码选择对某些文本进行解码,然后将其与正确解码的字符串连接,则可能会发生这种情况。 ftfy 可以帮助您解决此问题,但前提是不同部分之间存在换行符。
猜你喜欢
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 1970-01-01
  • 2021-08-12
  • 2012-08-18
  • 2017-06-27
相关资源
最近更新 更多