imap协议传输编码可读性问题

场景

《telnet中使用IMAP协议查看收件箱》文章我们介绍了使用telnet来访问邮件服务器,不过当我们查询邮件的时候,我们会困惑为什么出现正文乱码问题,类似如下:

Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
=E4=B8=8D
------------------=E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6------------------
=E5=8F=91=E4=BB=B6=E4=BA=BA:
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:2020-03-04 15:38:47
=E6=94=B6=E4=BB=B6=E4=BA=BA:
testmobile 
=E4=B8=BB=E9=A2=98:=E6=B5=8B=E8=AF=95vivo=E6=89=8B=E6=9C=BA=E6=8E=A5=E6=94=
=B6=E9=82=AE=E4=BB=B6=E9=97=AE=E9=A2=98

这里就是涉及到邮件传输过程中使用的Quoted-printable编码。下面是维基百科对Quoted-printable编码的描述:

Quoted-printable或QP encoding,没有规范的中文译名,可译为可打印字符引用编码或使用可打印字符的编码。Quoted-printable是使用可打印的ASCII字符(如字母、数字与“=”)表示各种编码格式下的字符,以便能在7-bit数据通路上传输8-bit数据, 或者更一般地说在非8-bit clean媒体上正确处理数据[注 1]。这被定义为MIME content transfer encoding,用于e-mail。
QP使用“=”开头的转义字符. 一般限制行宽为76,因为有些软件限制了行宽.

简单的来说就是email用ascii字符来进行传输。了解这个之后,我们就知道怎么处理乱码了。

解决

通过邮件中正文了解,传输过程中使用的编码是:
Content-Transfer-Encoding: quoted-printable
正文的内容编码是:
Content-Type: text/plain; charset="utf-8"
通过这两个信息,我们就能够在这个网站:
https://www.webatic.com/quoted-printable-convertor
设置这两个参数进行乱码处理。具体如下:
quoted-printable工具

总结

主要就是Quoted-printable编码乱码问题,感觉大佬写的webatic工具。

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值