使用两种不同的编码类型使用ftfy读取文本
我试图阅读使用python ftfy库混合编码类型的文本。该库提供良好的结果时文本不混合即使用两种不同的编码类型使用ftfy读取文本
>>> print(ftfy.fix_text('ünicode'))
ünicode
但如果文字是混合然后得到这样的事情即
>>> print(ftfy.fix_text('Hi to ℙℽ☂ℌϕℿ ünicode'))
ℙℽ☂ℌϕℿ ünicode
这东西,这个库不能处理?有什么方法可以阅读混合编码类型的文本?另外我会做一些关于python和unicode的了解,但是没有找到好的例子,当文本具有不同的编码类型时如何处理。
根据the docs,ftfy
一行一行地工作。因此,在一行中,它不会应用多个编码修复。
它如预期,如果有不同的原始编码的部分是在不同的行工作:
>>> print(ftfy.fix_text('Hi to ℙℽ☂ℌϕℿ \nünicode'))
Hi to ℙℽ☂ℌϕℿ
ünicode
阴影,如果我的答案帮助你解决了你的问题,你可以通过点击投票箭头下面的复选标记来“接受”它。 – lenz
当然这是有帮助的...我只是想知道如果我们有一个文件,这种混合编码类型和使用python来读取该文件,一些文本需要用utf-8编码,一些用其他编码类型编码。当文本具有不同的编码类型时如何处理? – ShadoW
我不确定我是否了解您的评论。实际上,您不可能拥有包含多种编码的单个文本(文件,流,字符串...)。你在这里展示的片段是“破碎”的;如果某些文本使用错误的编码选择进行解码,然后与正确解码的字符串串联,则可能会发生这种情况。 'ftfy'可以帮助你解决这个问题,但只有在不同部分之间有换行符的情况下。 – lenz
谢谢你让我知道这个库,顺便说一句! – lenz
是的,这是看起来很有用的图书馆...... – ShadoW