11

我正在尝试使用 imaplib 阅读电子邮件。我收到此邮件正文:

=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC!  

那就是Quoted-printable编码。
我需要从中得到utf-8。它应该是Добрый день!

我用谷歌搜索了它,但它与 Python 的版本太乱了。它在 Python 3 中已经是 unicode,我不能.encode('utf-8')在这里使用。

我怎样才能将其更改为utf-8

4

1 回答 1

18

quopri模块可以将这些字节转换为未编码的字节流。然后,您需要从它们所在的任何字符集中解码它们,然后编码回utf-8.

>>> b = quopri.decodestring('=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC')
>>> print(b.decode('windows-1251'))
Добрый день
于 2013-01-10T01:19:41.673 回答