RFC1521文档中关于QP和BASE64编码的定义

RFC1521文档中关于QP和BASE64编码的定义

 

1、           关于QP(Quoted-Printable)编码方法的描述:

规则1:除了换行符,其它任何8位长度的字节必须被表示成一个“=”号加上高四位的十六进制数和低四位的十六进制数,十六进制数是用“0123456789ABCDEF”的ASCII字符码表示,其中“ABCDEF”都必须是大写;

规则2:当8位长度的字节值在3366(包括3360)62126(包括62126)之间时,直接用该数据对应的ASCII码来表示;

规则3:当8位长度的字节值是932时,用该数据对应的ASCII(9TAB(HT)32SPACE)来表示,但若是出现在行尾则必须按规则1进行转换;

规则4:对于CRLF换行符必须用“=0D=0A”来代替;

规则5QP编码每行不得超过76个字符(不包含最后的“/r/n”两个字符),否则必须换行,换行方法是:在结尾处加上“=/r/n”;

其它:符号“-”不用进行QP编码,所以不要用“-”符号来表示实体之间的分界,最好用“=_”来代替,对于“!”#$[/]^’{|}~”这些字符必须按规则1进行转换。

2、          关于BASE64编码方法的描述:

编码方法:用“A…Za…z0…9+/”64个字符来表示6位长度的二进制数值,该数值从063依次对应从“A”至“/”的字符,编码时3个字节3个字节进行编码,每3个字节(24)以最高两位补0的形式分成四个字节,这样每个字节的值刚好能与“A…Za…z0…9+/”64个字符一一对应,当最后没有三个字节时,编码后则用”=“号补足四个字节。

BASE64编码每行不得超过76个字符(不包含最后的“/r/n”两个字符),否则必须换行,换行方法是:在结尾处加上“/r/n”;

BASE64编码中不得出现任何“A…Za…z0…9+/”64个字符以外的字符,否则则可视为错误码而把它丢弃。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值