Gmail API返回的消息零件大小与Len()返回的值不匹配



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

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

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

utf-8ISO-8859-1编码消息正常工作。但是,当消息使用更"复杂"的字符类(例如gb2312)时,大小字段中的值与返回的值不匹配:

len(msg_body)

使用gb2312 Charset编码的消息部分的示例:

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

我想念什么吗?

所以事实证明它是gmail api的错误:https://github.com/googleapis/google-api-python-client/issues/510

>

最新更新