引用印刷编码引入和引用打印编码和解码转换方法

引用打印可以转换成可打印字符,编码和使用可打印字符编码。我们收到邮件并检查邮件的原始信息,我们经常看到这种类型的编码。



至多,我们可以在邮件的头部看到这样的代码!内容转移编码:引用打印

它是多用途因特网邮件扩展(MIME)的实现之一,MIME是一种因特网标准,它扩展了电子邮件标准,并致力于使它能够支持各种格式的邮件消息,如非ASCII字符、二进制格式、附件等。在当前的HTTP协议中,使用了许多MIME框架!引用可打印的意思是,一个字节(8位)中的一些非打印字符方法用一些可以打印的普通字符表示!

引用印刷编码法

8位字节值编码的3个字符中的任意一个:a =符号,后跟216个十六进制数字(0 - 9或A - F)字节的数值表示。例如,ASCII码进纸(十进制值12)可以表示为= 0c =符号(十进制值61)必须表示为= 3D。除了可打印的ASCII字符和换行符之外,所有的字符必须在这个格式表示。

All printable ASCII characters (range 33 to 126 decimal values) available to the ASCII character encoding said directly, but the = sign (decimal value 61) can not directly express the level of.ASCII (TAB) tab character and space character, the decimal was 9 and 32, if not at the end of the line can be said directly with the ASCII character encoding.If these two characters appear at the end of the line, must be expressed as =09 QP encoding (TAB) or =20 (space).

如果有一个有意义的行结束的数据标志,它必须被转换成ASCII回车(CR)换行(LF)序列,不使用原来的ASCII字符和QP编码=转义字符序列。反之,如果字节值13和10有其他含义是不行的最后,他们必须QP编码=零= 0a。

引用打印的每一行编码数据的长度不能超过76个字符。为了满足需求并改变文本编码,在每行的结尾加上软线(软线中断)。在每行的结尾处有一个=,但没有出现在文本中的解码。

例如,如果你相信真=美,那么数学肯定是最美的编码,结果就是结果。

如果你相信真理= 3dbeauty,那么= 20 =

数学是哲学中最美的分支。

在代码中,有几个特定的限制,一些可打印的字符不需要编码,当然,如果你是代码后面的代码,它也可以被显示!因此,您只需自己实现代码:


功能quoted_printable_encode($string){
返回preg_replace( / { ^ R{ { 73 } { 2 },$ 0
Rawurlencode($字符串))))
}


一个函数,将所有字符串URLEncode后,数的数代替,那么非 R超过73个连续字符,然后是这是一种实现它的简单方法!根据代码的详细描述,一些空格、变线和一些特殊字符不能转换。

很多时候,我们使用一些常用字符来表示所有其他8个非打印字符,它们只是通过将引用的可打印编码传递给16个二进制编码,然后进行一些特殊的字符处理!它简单而有效,它使代码以邮件的格式被广泛使用!好了,在这里。欢迎交流!