Python 我试图打印电子邮件中的消息,但编码不是';t工作不正常
我正在尝试打印电子邮件中的消息。我正在使用imaplib与imap服务器一起工作 下面的代码示例Python 我试图打印电子邮件中的消息,但编码不是';t工作不正常,python,encoding,Python,Encoding,我正在尝试打印电子邮件中的消息。我正在使用imaplib与imap服务器一起工作 下面的代码示例 def fetch_msg(conn, index): status, msg_data = conn.fetch(index, '(RFC822)') if status != 'OK': return None for resp_part in msg_data: if isinstance(resp_part, tuple):
def fetch_msg(conn, index):
status, msg_data = conn.fetch(index, '(RFC822)')
if status != 'OK': return None
for resp_part in msg_data:
if isinstance(resp_part, tuple):
msg = email.message_from_string(resp_part[1])
for header in ['subject', 'to', 'from', 'date']:
print('%-8s: %s' % (header.upper(), msg[header]))
我得到这个结果:
SUBJECT : =?UTF-8?B?0JHQu9Cw0LPQvtC00LDRgNC40Lwg0LfQsCDQv9C+0LrRg9C/0LrRgyE=?=
TO : example@mail.bk
FROM : noreply@steampowered.com
DATE : Tue, 17 Nov 2015 06:05:13 -0800
我怎样才能得到一个正常的视角?我在源文件中使用utf-8编码。导入sys,在脚本开头放一个重载(sys)行,然后在该行后面放sys.setdefaultencoding('UTF8')。不要使用
setdefaultencoding
。会的。而是指定编码。早解码,到处都是unicode,晚编码。这就是正确处理unicode的方法。n1c9不幸的是,它不起作用。请阅读