常用编码说明-MIME&QP

本文介绍了MIME编码中的两种常见方法:Base64用于处理8位字节码,通过64个字符表示二进制数据;Quoted-Printable则以等号和十六进制编码非ASCII字符,特别关注换行和特殊字符的处理。每行长度限制和特殊字符转义是其关键特性。
摘要由CSDN通过智能技术生成

2.4.2 MIME 编码介绍
2.4.2.1 BASE64
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,它是一种基于64个可打印字符来表示二进制数据的方法。其原理很简单,就是把三个Byte的数据用 4 个Byte表示,然后把6Bit再添两位高位0。这样,这4个Byte中,实际用到的都只有前面6 bit,这样就不存在只能传输 7bit 的字符的问题了。BASE64字母表如下:
在这里插入图片描述
2.4.2.2 QP(Quote-Printable)
Quoted-printable可译为“可打印字符引用编码”, 它是MIME编码常见一种表示方法。
任何一个8位的字节值可编码为3个字符:一个等号”=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。例如,ASCII码换页符(十进制值为12)可以表示为”=0C”, 等号”=”(十进制值为61)必须表示为”=3D”.。除了可打印ASCII字符与换行符以外,所有字符必须表示为这种格式。
所有可打印ASCII字符(十进制值的范围为33到126)可用ASCII字符编码来直接表示, 但是等号”=”(十进制值为61)不可以这样直接表示.ASCII的水平制表符(tab)与空格符, 十进制为9和32, 如果不出现在行尾则可以用其ASCII字符编码直接表示。如果这两个字符出现在行尾,必须QP编码表示为”=09″ (tab)或”=20″ (space)。
如果数据中包含有意义的行结束标志,必须转换为ASCII回车(CR)换行(LF)序列,既不能用原来的ASCII字符也不能用QP编码的”=”转义字符序列。 相反,如果字节值13与10有其它的不是行结束的含义,它们必须QP编码为=0D与=0A。
quoted-printable编码的数据的每行长度不能超过76个字符. 为满足此要求又不改变被编码文本,在QP编码结果的每行末尾加上软换行(soft line break)。 即在每行末尾加上一个”=”, 但并不会出现在解码得到的文本中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值