我正在用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郵件地址。
我的問題是,有沒有辦法解碼任何可能的情況?