我正在用Python中的GMail API检索用法语写的邮件,而且我实际上遇到了重音问题。来自任何地方的GMail API解码消息
检索到的信息与此:
message = service.users().messages().get(userId="me", id=i, format="raw").execute()
所有我想要的是收邮件的身体,所以我开始与此:
base64.urlsafe_b64decode(message['raw'].encode('ASCII'))
对于一些邮件,它的工作原理,我检索所有的邮件数据,包括法文文本,例如:
"Cette semaine, vous vous êtes servis du module de révision 0 fois"
对于其他人,我得到quoted-print编码,lik E本:
"Salut, =E7a farte?"
引用可打印的编码是没有问题,因为我已经建立了使用quopri
模块的简单解码功能。这里的主要问题是,最后一句是错误的引述打印编码,该编码的字符是ç
,应该像这样编码:
"Salut, =C3=A7a farte?"
所以用错编码的句子,我最终了这种的东西:
Salut, �a farte?
我怀疑原点是所述不同的邮件客户端,我的第一为例是从Gmail客户端发送到Outlook地址和第二个例子中是相反的消息; Outlook邮件地址。
我的问题是,有没有办法解码任何可能的情况?