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 に答える