加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Gmail API – 如何正确解析邮件正文数据?

发布时间:2020-12-17 03:07:08 所属栏目:百科 来源:网络整理
导读:我正在使用新的Gmail API,我绝对坚持如何正确处理 Ruby / Rails中[body] [data]部分对text / plain消息和text / html消息的编码. 假设data =编码的消息部分. 在其上调用Base64.decode64(data).unpack(“M”)将返回一个US-ASCII编码的文本正文,其中包含许多缺
我正在使用新的Gmail API,我绝对坚持如何正确处理 Ruby / Rails中[body] [data]部分对text / plain消息和text / html消息的编码.

假设data =编码的消息部分.

在其上调用Base64.decode64(data).unpack(“M”)将返回一个US-ASCII编码的文本正文,其中包含许多缺少的字符,如网页上所示.

调用Base64.decode64(data).encode(‘UTF-8’)会引发从US-ASCII到UTF-8的转换错误

然而,如果我做Base64.decode64(数据).encode(‘UTF-8′,{:invalid =>:replace,:undef =>:replace,:replace =>’?’}),我是仍然看到了大量的问号.

有人能指出我正确的方向,如何让消息体正确编码并以UTF-8显示?

电子邮件JSON响应的格式如下:

"parts": [
   {
    "partId": "0","mimeType": "text/plain","filename": "","headers": [
     {
      "name": "Content-Type","value": "text/plain; charset=UTF-8"
     },{
      "name": "Content-Transfer-Encoding","value": "quoted-printable"

解决方法

使用Base64.urlsafe_decode64解码邮件正文.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读