将"Quoted-printable"编码更改为"utf-8"

Qia*_*iao 10 python encoding python-3.x

我正在尝试用imaplib阅读电子邮件.我得到这个邮件正文:

=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC!  
Run Code Online (Sandbox Code Playgroud)

那就是Quoted-printable编码.
我需要从中得到utf-8.它应该是?????? ????!

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

我怎么能改变这个utf-8

Mar*_*som 17

quopri模块可以将这些字节转换成未编码字节流.然后,您需要解码它们所处的任何字符集,然后进行编码utf-8.

>>> b = quopri.decodestring('=C4=EE=E1=F0=FB=E9 =E4=E5=ED=FC')
>>> print(b.decode('windows-1251'))
?????? ????
Run Code Online (Sandbox Code Playgroud)

  • @JamesTan这个答案*是Python3的*.我只是在Python 3.6中再次尝试它,它工作正常.你有麻烦吗? (2认同)