Gmail API返回的邮件部件大小与len()返回的值不匹配

时间:2017-12-26 06:53:30

标签: python-3.x gmail-api

我正在使用Python 3和google-api-python-client软件包从Gmail收件箱中阅读电子邮件。

我正在使用urlsafe_b64decode()函数解码消息正文:

msg_body = base64.urlsafe_b64decode(payload_body['data'])

使用utf-8ISO-8859-1编码的邮件,一切正常。但是,当邮件使用更“复杂”的字符集gb2312时,size字段中的值与返回的值不匹配:

len(msg_body)

使用gb2312字符集编码的消息部分的示例:

>>> payload_body['size']
147
>>> len(msg_body)
168

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

事实证明,这是Gmail API的错误:https://github.com/googleapis/google-api-python-client/issues/510