Quoted printable

本文详细介绍了QP编码的基本原理及其编码规则,包括如何通过16进制表示八位组、ASCII字符的使用、空格和制表符的处理、新行及软换行的表示方法等。QP编码特别适用于含有大量可打印ASCII字符的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 QP 编码用于表示含有大量对应可打印字符的数组,这种编码方式使字符单元在传输过程中被更改的可能性很小。如果正在编码的数据大部分是ASCII文本,那么编码后的形式具有很高的可读性。一个完全是ASCII值的正文数据由QP编码后可以保证数据在字符翻译或经由网关时数据的完整性。

       编码规则如下:

       规则1(一般8位组的表示方式), 任何的八位组,都可以用”=”后加该八位组的16进制值来表示,除了那些根据数据编码规范中新行的惯例来指定短行的表示单位。必须用大写字母。比如值是12 ,则表示为”=0C”

       规则2(文字表示)值在33-60 ,以及62-126的八位组(包含头尾值),可以表示成那些八位组对应的ASCII字符。

       规则3(空格) 值是932的八位组可以分别表示为ASCII TABSPACE值,但是不可以出现在编码行的末尾。任何在编码行的TABSPACE字符必须后面有可打印字符出现。特殊情况下,编码行的末尾出现的”=”,表示断行,其前面可能是一个或多个TABSPACE 实行这条规则的原因是一些METs(Message Transport Agents-消息传输单元)会在文本末尾补上SPACE,因此,解码时,任何跟在行后的空格必须删除。

       规则4(断行)在原文中的断行必须表示成协议中的断行符-CRLF序列"=0D=0A” 。由于非文本类型的规范表示一般不包括断行,所以这种类型的qp编码没有硬换行。通常,base64编码在二进制编码上更占优势。

       规则5(软换行)QP编码要求编码后每行不能超过76个字符。当超过这个限制时,将适用软换行,用”=”表示编码行的断行,后接CRLF。(76的限制包括”=”)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值