确定文本的编码

时间:2011-01-28 14:00:38

标签: python unicode character-encoding iso-8859-1

我收到一些奇怪的字符作为对网页的回复。我很确定它是俄语的一个信息,但编码似乎很奇怪。网页信息告诉我编码是ISO-8859-1。以下是样本回复。

Âû ñòðàíè÷êå ïðåâüþøêàìè

有没有办法解密这个回复?响应是否可以挽救。

2 个答案:

答案 0 :(得分:4)

看起来编码实际上是西里尔文Windows-1251。相应地切换您的网络浏览器编码。

例如,您在该编码中提供的文本是:

  

Выстраничкепревьюшками

自动翻译表示“您可以预览”。

答案 1 :(得分:3)

几乎不可能自动识别8位编码,因为所有字节组合在技术上都是有效的。在这种情况下,我很确定它是Windows-1251,因为字符在那里非常有意义:

  

Выстраничкепревьюшками

显然不是ISO-8859-1。

要将其转换为Unicode字符串,请使用decode方法:

b = "Âû ñòðàíè÷êå ïðåâüþøêàìè".encode("Latin-1")  # simulate the incoming byte string
u = b.decode("Windows-1251")
print(u)