我尝试使用python ftfy库读取具有混合编码类型的文本。当文本没有混合时,该库可以得到很好的结果,即
>>> print(ftfy.fix_text('ünicode'))
ünicode
但如果文字是混合的,那就得到类似的东西,即
>>> print(ftfy.fix_text('Hi to ℙℽ☂ℌϕℿ ünicode'))
ℙℽ☂ℌϕℿ ünicode
这个库无法处理吗?有没有办法读取混合编码类型的文本?我还做了一些关于python和unicode的阅读,但是当文本有不同的编码类型时,没有找到好的例子。
答案 0 :(得分:0)
根据the docs,ftfy
逐行工作。因此,在一行中,它不会应用多个编码修复。
如果具有不同原始编码的部分位于不同的行上,它将按预期工作:
>>> print(ftfy.fix_text('Hi to ℙℽ☂ℌϕℿ \nünicode'))
Hi to ℙℽ☂ℌϕℿ
ünicode