QuotePrintable编码原理

QuotePrintable的编码规则如下:

  1. 所有可打印的ASCII字符(十进制33126,十六进制217E)可以用ASCII来直接表示,除了=(十进制61,十六进制3D)
  2. 任何8bit的值都可以表示用3个字符表示:一个等号(=)和两个十六进制位(0-9或A-F)来表示。
  3. tab键(十进制9,十六进制9)和space键(十进制32,十六进制20)如果出现在行末,则需要在前面加上等号;如果不出现在行末,就可以直接用ASCII表示。

【例】将01001100 10011101 00111001进行quoted-printable编码。

【解】题中给出的三组8bit二进制数转化成十六进制数是4C 9D 39,根据上面的规则可知,9D不是可打印的ASCII码,故需添加等号,所以得到L=9D9的编码,其中L的ASCII是4C,9D无法直接用ASCII表示,需要加等号即=9D,9的ASCII是39。

参考:https://en.wikipedia.org/wiki/Quoted-printable