quoted-printable,quotedprintable编码举例
请教下,如何获知ENCODING=QUOTED-PRINTABLE:=E5=90=B4=E4=B8
上面从上到下依次是:
=E5=89=A1=E4=B8=9C=E6=97=AD 剡东旭
=E5=90=8C 同
=E5=91=A8=E5=A4=A7=E5=93=A5 周大哥
=E5=A4=A7=E5=A7=90 大姐
=E5=A7=A8=E5=A4=AB 姨夫
=E5=B0=8F=E5=85=B0=E5=A7=90 小兰姐
=E5=B0=8F=E6=96=87=E5=A7=90 小文姐
=E5=B0=8F=E6=A2=85=E5=A7=90 小梅姐
=E5=B0=8F=E9=9C=9E=E5=A7=90 小霞姐
=E5=BC=A0=E7=88=B8 张爸
=E5=BC=A0=E5=A6=88 张妈
=E6=A2=81=E8=8A=B3=E7=90=B4 梁芳琴
=E6=B5=B7=E5=8A=9B 海力
=E7=88=B8=E7=88=B8 爸爸
=E7=8E=8B=E4=B8=80=E6=B3=A2 王一波
=E7=BA=A2=E8=89=B3 红艳
=E8=80=81=E5=A4=A7 老大
=E8=8F=8A=E9=9C=9E 菊霞
=E8=B5=B5=E4=BA=9A=E9=B9=8F 赵亚鹏
=E9=A9=AC=E6=88=90 马成
=E9=AD=8F=E5=86=9B=E6=88=98 魏军战
=E9=AD=8F=E9=91=AB 魏鑫
终于破解完了,这事QUOTED-PRINTABLE编码格式
quoted_printable_decode — 将 quoted-printable 字符串转?
quoted_printable_decode
(PHP 4, PHP 5, PHP 7, PHP 8)
quoted_printable_decode — 将 quoted-printable 字符串转换为 8-bit 字符串
说明
quoted_printable_decode ( string $str ) : string
该函数返回 quoted-printable 解码之后的 8-bit 字符串 (参考 ? RFC2045 的6.7章节,而不是 ? RFC2821 的4.5.2章节,so additional periods are not stripped from the beginning of line)
该函数与 imap_qprint() 函数十分相似,但是该函数不需要依赖 IMAP 模块。
参数
str
输入的字符串。
返回值
返回的 8-bit 二进制字符串。
请问这是什么意思啊BEGIN:VCARD VERSION:2.1 N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E8
begin:vcard
version:2.1是指名片的版本为2.1,n;charset=utf-8;
encoding=quoted-printable:=e8=80=81=e5=bc=a0
中,n是指姓名中的名,使用utf-8字符编码,quoted-printable是可见字符编码方式,=e8=80=81=e5=bc=a0是编码内容,对应的汉字是老张。
MIME与SMTP的关系是怎样的?什么是quoted-printable编码和base64编码
答:
MIME全称是通用因特网邮件扩充MIME。它并没有改动或取代SMTP。MIME的意图是继续使用目前的RFC 822格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。也就是说,MIME邮件可以在现有的电子邮件程序和协议下传送。下图表明了MIME和SMTP的关系:
非 ASCII 码
7 位 ASCII 码
MIME
SMTP
MIME
SMTP
7 位 ASCII 码
7 位 ASCII 码
非 ASCII 码
用户
用户
quoted-printable编码:对于所有可打印的ASCII码,除特殊字符等号外,都不改变。等号和不可打印的ASCII码以及非ASCII码的数据的编码方法是:先将每个字节的二进制代码用两个十六进制数字表示,然后在前面再加上一个等号。
base64编码是先把二进制代码划分为一个24位长的单元,然后把每个24位单元划分为4个6位组。每一个6位组按以下方法替换成ASCII码。6位的二进制代码共有64种不同的值,从1到63。用A表示0,用B表示1,等等。26个大写字母排列完毕后,接下去再排26个小写字母,再后面是10个数字,最后用+表示62,而用/表示63。再用两个连在一起的等号==和一个等号=分别表示最后一组的代码只有8位或16位。回车和换行都忽略,它们可在任何地方插入。
邮件出现乱码怎么办啊?
一般来说,乱码邮件的原因有下面三种:
(1)由于发件人所在的国家或地区的编码和中国大陆不一样,比如我国台湾或香港地区一般的E-mail编码是BIG5码,如果在免费邮箱直接查看可能就会显示为乱码。
(2)发件人使用的邮件软件工具和你使用的邮件软件工具不一致造成的。
(3)由于发件人邮件服务器邮件传输机制和免费邮箱邮件传输机制不一样造成的。
一般说来对于绝大多数乱码的邮件解决方法可以采用下面的方法:
首先用Outlook Express将乱码的邮件收取下来,然后打开这封邮件,查一下View(查看)→Encoding(编码),然后调整其下的编码设置试试看,比如可以选择Chinese Simple(简体中文)、Chinese Traditional(繁体中文)、中文HZ或Unicode试试看。一般来说,绝大多数乱码的邮件都可以修正过来。如果觉得这样很麻烦,可以将GB2312设置为默认的字体,方法如下(以Outlook Express 5为例):通过“工具→选项→阅读→字体”,在“编码”处选好GB2312,然后选“设为默认值”。
...............................................
邮件乱码巧破译 来源:《新潮电子》
----
相信许多网友都遇到过乱码邮件,一些奇奇怪怪的字符,不知道是什么意思。产生乱码邮件的最
主要原因在于传输机制不同或邮件的编码不同,如果能够识别这些编码,就可以找到破解的办法。
邮件乱码巧破译
一、E-mail编码标准
由于一个汉字是用两个扩展ASCII码表示,对DOS、Windows及Unix系统来说,所有英文字母及符号
都是用ASCII码来代表,ASCII码只用到每个字节的前7位。而一些电脑系统在通信时不使用8-bit
clean传输方式,无法处理8位的数据或硬把8位数据当作7位来处理,数据就会被破坏。对电子邮件来
说,有时候一个邮件在送达收信人的过程中,会经过很多台主机的转接传输服务,这中间的主机假如
有一台不具备8-bit clean的传输条件,中文邮件可能就会被破坏。因此,不论是发送中文文本文件,
还是发送EXE可执行文件、图形文件或压缩文件等二进制文件,都应该先进行编码。
E-mail编码主要有:
1.UU编码
在早期传送非 ASCII码的文件时,最常用的便是这种UU(Unix-to-Unix encoding)编码方式。
Uuencode和Uudecode分别是Unix系统中使用的UU编码和解码程序,后来被改写成为在DOS中亦可执行的
程序。
2.MIME编码
UU编码解决了E-mail传送非ASCII文件的问题,但这种方式并不方便。因而又发展出一种新的编码
标准MIME(Multipurpose Internet Mail Extentions),一般译作“多媒体邮件传送模式”。顾名思
义,它可以传送多媒体文件,在一封电子邮件中附加各种格式文件一起送出。
MIME定义两种编码方式:Base64与QP(Quote-Printable)。QP的规则是对于资料中的7位无须重复编
码,仅将8位的数据转成7位。 QP编码适用于非ASCII码的文字内容,例如我们的中文文件。而Base64
的编码规则,是将整个文件重新编码成7位,通常用于传送二进制文件。编码的方式不同会影响编码之
后的文件大?gt;6?哂?nbsp;MIME功能的E-mail软件大都能自动判别你的邮件是采用何种编码,然后自动选
择用QP或Base64来解码。
MIME标准现已成为Internet电子邮件的主流。现在最常使用的电子邮件软件Eudora、FoxMail、
Netscape Mail、Outlook Express和Internet Mail等都支持MIME编码标准。
3.Binhex编码
Binhex的编码方式常用于Mac机器。一般PC上的电子邮件软件,亦多数支持MIME的规格,很少有支
持Binhex格式的。在常用的电子邮件软件中,只有Eudora具有这种功能,可直接解读Binhex的编码。
二、邮件乱码的原因及解决方法
汉字邮件出现乱码的原因很多,主要的原因是Internet上的某些邮件主机不支持8位(非ASCII码
格式)传输,以及不同的邮件编码,不同设置的电子邮件接收软件,不同语种的操作系统等。
当你收到一封乱码的邮件时,应根据邮件内容中的关键字符,判别其编码方法。不同的乱码,在
不同的平台上有不同的解决方法,因此解码前必须先看一下文件的内容,根据特征对文件可能的编码
方式(Uuencode、Base64 encode、QP-encode或其它编码方式)进行判断。
1.Uuencode“乱码”
Uuencode编码主要来自Unix环境的使用者,目前使用者已经很少。这种软件内部所用的算法为
base64。其格式与Base64 encode格式非常相似,它们的差别仅仅在于“信头”部分的不同。Uuencode
“乱码”大体格式为:
begin 0600 index.gb
MH;ZQOL2_PKS#O]3"N/S0PM*[M,ZAOPJCJ,G/U,+2U,"TM30PM3VN_*XQ+:O
……
end
在乱码前面含有“begin xxx”,后面紧接着编码之前原始文件的名称。接着是已经Uuencode编码
的邮件的内容。在乱码内容后面,即最后一行为“end”。
如果你的电子邮件接收程序不支持UU解码,那么你看到的就是这些Uuencode“乱码”。
解决Uuencode“乱码”的办法:
方玌uencode“乱码”邮件转寄到自己的邮箱中,再使用能够支持UU解码的电子邮件接收程序(如
Eudora、OutLook Express等)来接收该邮件。
吠ü?艏?褰?Uuencode“乱码”存入文本文件,改文件名后缀为 UUE,然后使用Winzip 解码。
方?Uuencode“乱码”存入一个文件,然后在DOS下用uudecode.exe程序将文件解码。
方?Uuencode“乱码”存入一个文件,然后在Windows下用Wincode解码。
Wincode除支持UU编码外也支持MIME、Binhex等编码格式,应用范围颇为广泛。
2.Base64 encode“乱码”
Base64是MIME标准编码之一。Base64 encode编码方式是将3个字节(8位)用4个字节(6位)表
示,由于编码后的内容是6位的,因此可以避免第8位被截掉。Base64 encode“乱码”大体格式为:
MIME-Version:1.0
Content-Type:text/plain; charset="us-ascii〃
Content-Transfer-Encoding:base64
Status:R
yrE68shis+o/IMTcsrvE3Ljmy9/L47YEzajRtrX-Y1re6zbYnu7Chow0LDQo=3d
在Base64编码邮件的乱码前一般有如下几部分“信头”:Content-Type(内容类型)、charset(字符
集)及Content-Transfer-Encoding(内容传输编码方式)。
如果你的电子邮件接收程序不支持Base64解码,那么你看到的就是这些Base64 encode“乱码”。
解决Base64 encode“乱码”的办法:
方獴ase64 encode“乱码”邮件存成一个文本文件,改文件名后缀为.UUE,然后使用 Winzip 解码。
方獴ase64 encode“乱码”邮件存成一个文件,将文件后缀改为.EML,由OutLook Express 打开,就
可以自动解码。
3.QP-encode“乱码”
QP-encode是MIME标准编码之一。QP-encode编码全名为“Quoted-Printable
Content-Transfer-Encoding”。由于用这种格式表示的信息,其内容主要都是 ASCII字符集中可以打
印的字符,因此名称中含有 printable。QP编码的方式,是将一个字节用两个16进制数值表示,然后
在前面加“=”。QP-encode“乱码”大体格式为:
=d2=bc=b3=b8=d5=db=c4=c4=bc=d2=b5=f6=b1=e5=c9=e7=b6=f8=b0
采用QP(Quoted-Printable)编码方式的邮件很容易进行判别,因为它的内容通常有很多等号“
=”,因此不需要看“信头”也可以判断是否为QP编码。
如果你的电子邮件接收程序不支持QP解码,那么你看到的就是这些QP-encode“乱码”。
解决QP-encode“乱码”的办法:
方妙P-encode“乱码”邮件转寄到自己的邮箱中,然后用支持QP解码的电子邮件接收程序(如
Netscape mail、Eudora、OutLook Express、Becky等)来接收该邮件。
肥褂?Winzip 对 Quoted-Printable 解码。必须注意:(1)在邮件信头中检查、添加这样两
行:Mime-Version: 1.0Content-Transfer-Encoding: quoted-printable;(2) 信头中间不要空行,信
头和信体之间要有一个空行。这样形成的文件,改后缀名为UUE,即可双击启动 Winzip 得到解码。
4.HZ中文乱码
由于网友们可能使用不同的电子邮件收发软件,因此,来自各个网友的邮件内容可能包含着看不
懂的乱码,例如,如果看到下面这串乱码,你一定看不懂它的意思:
HZ- 学软?艋?}躏艋用软?艋?}躏艋买软?艋?暮冒槁?
实际上这是一串“简体中文HZ”编码,如果使用Outlook Express发送邮件时,选用HZ编码,而邮
件的接收者使用Eudora来阅读邮件,看到的就是这些乱码。正确的方法是,在撰写邮件窗口中,选择
“格式”菜单下的“语言”命令,并选中“简体中文(GB2312)”项,然后发送邮件。
这时,如果你使用Outlook Express,可以打开“查看”菜单点击“语言”选项中的“简体中文
(GB2312)”项,或者点击工具栏上“语言”后面的向下箭头,选择“简体中文(GB2312)”功能项,屏
幕出现一个对话框,单击“是”按钮,所有邮件主题中含有指定字符集的邮件应用新的字符集。
如果你使用Eudora之类的软件,可以使用“南极星”之类的软件,自动转换不同的汉字编码。如
果还看不到的话,可将这些编码文本,拷贝到一个文本编辑器中。对于上面那串编码,你将看到下面
的内容:
“学软件、用软件、买软件的好伴侣”
5.“半个汉字”乱码
汉字的另一个问题是所谓的“半个汉字”乱码。如果看到下面这串乱码,你一定看不懂它的意思:
“把砑?⒂萌砑?⒙蛉砑?暮冒槁隆薄* ”
由于很多英文编辑软件以字符为单位来处理文本,汉字被删除一半后,剩余的部分会和相邻的汉
字重新组合,使得文本面目全非。因此,除了在输入、删除的时候注意这种问题外,还要注意不要在
英文字处理软件中轻易使用“字符替换”功能,这往往会把一个汉字的后一个字符和相邻汉字的前一
个字符当成一个汉字被替换掉。
对于“半个汉字”乱码,只要将“乱码”邮件存成一个文本文件,然后使用以字符为单位的编辑
软件,将“乱码”行的首字符删除,后面的部分就会和相邻的“乱码”重新组合成可识别的汉字。
如果上述方法不能奏效,那么只好告诉对方正确的发送方式,请对方重新发一份邮件给你。如果
你看到的不是上述编码,那么请到 [url][/url]查看“乱码大全”一文。
三、避免乱码的措施
现在你已经知道乱码产生的原因和解决办法,希望你在发送邮件时也多为他人着想,别让美好的
心愿变成一堆乱码。
1.选用大众化的电子邮件收发程序
由于不同的电子邮件收发程序支持的编码有所不同,收件人和发件人自己定制的一些选项也会各
不相同,所以在收到编码的信件后,系统不一定能识别出邮件所用的编码方法。识别不出编码方法,
系统自然无法自动解码,这样当你查看信件内容时,就会出现所谓的乱码,使收信人无法阅读该文
件。选用大众化的电子邮件收发程序则可以在一定程度上避免不同的编码方法。
2.使用“附件”功能发送文件
一般电子邮件收发程序的“附件”功能可以自动对邮件先进行编码,然后再发送。如果收信人的
电子邮件收发程序(如Netscape mail、Outlook Express、Eudora、Pegasus等)能够区别邮件的编码
方式,则可以自动将邮件解码。
3.发送重要信息时先发测试信
发送重要信息时,为了确认是否无须编码即可发送正文,应该先发送测试信。而且还应确定收件
人能否对附件文件进行解码。如果发送已经编码的邮件,则最好添加足够的“信头”信息,以便收件
人知道所需的解码方法。
4.不使用电子邮件收发程序特别的编辑功能
如Outlook Express邮件编辑器是个功能很强的HTML编辑器,你可以编辑五颜六色、各种字体的电
子邮件。不过,如果接收方不是也使用Outlook Express来接收邮件,可能只看到很难看清楚的HTML源
码。解决的方法是,在撰写邮件时,选择“格式”菜单下的“纯文本”选项。如果要将发送格式的缺
省值设置为“纯文本”,那么,在Outlook Express主窗口中,打开“工具”菜单,选择“选项”,出
现选项设置对话框。单击“发送”选项卡,将邮件发送格式设置为“纯文本”。
ENCODING=QUOTED-PRINTABLE:=E5=90=B4=E4=B8=9C=E6=96=B0 是什么意思?谢谢
ENCODING=QUOTED-PRINTABLE:=E5=90=B4=E4=B8=9C=E6=96=B0
还原为:ENCODING=QUOTED-PRINTABLE:吴东新
使用UTF-8字符编码,quoted-printable是可见字符编码方式=E5=90=B4=E4=B8=9C=E6=96=B0
是编码内容,对应的汉字是吴东新。