将“Quoted-printable”编码更改为“utf-8”

时间:2013-01-10 01:12:53

标签: python encoding python-3.x

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

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

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

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

如何将其更改为utf-8

1 个答案:

答案 0 :(得分:17)

quopri module可以将这些字节转换为未编码的字节流。然后,您需要解码它们所处的任何字符集,然后再编码回utf-8

>>> b = quopri.decodestring('=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC')
>>> print(b.decode('windows-1251'))
Добрый день