And*_*Hin 12 email base64 mime character-encoding gmail-api
我正在使用GMail API来检索电子邮件内容.我正在为身体获得以下base64编码数据:http://hastebin.com/ovucoranam.md
但是,当我通过base64解码器运行它时,它返回一个空字符串(错误)或类似于HTML数据的东西,但有一堆奇怪的字符.
救命?
urb*_*ter 21
我不确定你是否已经解决了,但GmailGuy是正确的.您需要将正文转换为Base64 RFC 4648标准.该JIST是你需要更换-
与+
和_
用/
.
我已经采取了您的原始输入并做了替换:http://hastebin.com/ukanavudaz
并使用base64decode.org对其进行解码,这很好.
Eri*_*c D 12
您需要使用URL(也称为"web")安全base64解码字母表(请参阅rfc 4648),它看起来并不像您正在做的那样.使用标准base64字母表有时可以工作但不总是(2个字符不同).
文档似乎没有一直提到这个重要的细节.这是其中的一个:https: //developers.google.com/gmail/api/guides/drafts
此外,如果您的特定库不支持"URL安全"字母表,那么您可以首先对字符串进行字符串替换(" - "表示"+","_"表示"/")然后执行正常的base64解码它.
小智 7
我有同样的问题解码消息对象响应中的'数据'字段Gmail API
.该Google Ruby API
库也没有正确解码文本.我发现我需要做一个url-safe base64 decode
:
@data = Base64.urlsafe_decode64(JSON.parse(@result.data.to_json)["payload"]["body"]["data"])
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
mti*_*935 -1
我将base64测试复制到一个文件(b64.txt),然后使用带有-d选项的base64(来自coreutils)对其进行base64解码(请参阅http://linux.die.net/man/1/base64),然后我得到完全可读的文本。我使用的命令是:
cat b64.txt | base64 -d
Run Code Online (Sandbox Code Playgroud)