1
我解析电子邮件主题并获取多个字符串(取决于主题长度),从=?UTF-8?B?
开始。这是正常的行为吗?我怎样才能用一种编码将字符串连接到一个字符串?解析email_message ['Subject']结果3字符串而不是1
email_message = email.message_from_string(raw_email)
print email_message['Subject']
...
=?UTF-8?B?15bXkNeqINeR15PXmden15Qg15HXodeZ16HXmdeqINeR15vXk9eZINec15TXkdeZ158g?=
=?UTF-8?B?157Xk9eV16Ig15TXp9eZ15PXldeTINeU15bXlCDXnNeQINei15XXkdeTINeQ150g15DXoNeZINeo15U=?=
=?UTF-8?B?16nXnSDXlNeo15HXlA==?=
编辑:
subjectDecoded, encoding = decode_header(email.utils.parseaddr(email_message['Subject'])[1])[0]
if encoding==None:
subjectDecodedParsed = email_message['Subject']
print 'I am NOT decoding Subject'
print subjectDecodedParsed
else:
subjectDecodedParsed = subjectDecoded.decode(encoding)
print 'I am decoding subject'
print subjectDecodedParsed.encode('utf8') #<--- Only first line will be presented here
谢谢。我编辑了这个问题。我正在使用email.header,而且我仍然只是打印出第一行 – Segev 2013-05-13 09:57:43
@EXEC_BAD_ACCESS:是的,我也意识到,您会逐行解析它们,并进行更新。你可能想在解码后的行上使用'u''join()'。 – 2013-05-13 10:00:17
解码之前我不能加入他们吗?任何代码都会非常有帮助。 – Segev 2013-05-13 10:05:09