当前位置:首页>网络学院>办公软件教程>Outlook教程>文章内容

电子邮件乱码巧解

[ 来源:www.it55.com | 作者: | 时间:2007-07-10 | 收藏 | 推荐 ] 【

遇到乱码邮件,首先要判断产生的原因。

www.it55.com在线教程

出现乱码的原因很多,其中一种可能是由于Internet上的某些邮件主机不支持8位(非ASCII码格式)传输造成的。具体的说,在直接发送中文双字节或二进制等非ASCII码格式的邮件(如中文双字节文件、图片文件.jpg、可执行文件.exe或压缩文件.zip等二进制文件)时,邮件主机无法处理,便把信件中每个字符的第八位都过滤掉(截去第八位),从而使此信息和初始信息截然不同,造成邮件信息的失真或损坏。因此,在发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ASCII码或更少位数的格式,然后才能保证文件的正确传送。收件人收到7位或更少位格式的邮件之后,可以再转换为8位的格式,这样就可以阅读了。

it55.com

一般电子邮件系统的“附件”功能可以自动对信件先进行编码,然后送出。而如果收信人的电子邮件系统(如Netscape Email、Pegasus、Eudora、Accacia、MS Internet Mail等)能够区别信件的编码方式,则可以自动将信件解码。然而由于各种电子邮件软件的默认配置不同,收件人和发件人自己定制的一些选项也会各不相同,所以在收到编码的信件后,系统不一定能识别出信件所用的编码方法。识别不出编码方法,系统自然无法自动解码,这样当你查看信件内容时,就会出现所谓的乱码,使收信人无法阅读该文件。

it55.com

其次,就是要判断关键字符,去判断其编码方法。 vd;k;l www.it55.com rdfg

不同的乱码,在不同的平台上有不同的解决方法,因此解码前必须先看一下文件的内容,根据特征对文件可能的编码方式(Uuencode、Base64 encode、QP-encode或其它编码方式)进行判断。请注意,Uuencode格式与Base64 encode格式非常相似,它们的差别仅仅在于“信头”部分的不同。

IT资讯之家 www.it55.com

第一种编码方法:

www.it55.com

Uuencode这是很早以前在UNIX上就有的编码程序,主要用户都集中在UNIX环境的使用者中,目前使用者已经很少。这种软件内部所用的算法为base64。其大体格式为:

it55.com

begin 644 kk.zip M1G)O;2!I;&EN+F)B3T!C(VEE+FYC='4N961U+G1W(%=E9"!.;W8@(#8@,3(ZM,SDZ,C4@,3DY-@I296-E:79E9#H@9G)O;2!F;&%B;6%I;"YF;&%B+F9U:FET…..............。 www.it55.com

end IT资讯之家 www.it55.com

说明: www.it55.com在线教程

·在乱码前面含有“begin xxx”,后面紧接着编码之前原始文件的名称

vd;k;l www.it55.com rdfg

·接着是已经过编码的信件的内容

it55.com

·在乱码内容后面,即最后一行为“end” sflj www.it55.com kg^&fgd

第二种编码方法:

it55.com

BASE64 encode这种编码方式是将3个字节(8位)用4个字节(6位)表示,由于编码后的内容是6位的,因此可以避免第8位被截掉,其大体格式为:

www.it55.com

MIME-Version:1.0 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

Content-Type:text/plain; charset="us-ascii" www.it55.com在线教程

Content-Transfer-Encoding:base64

IT资讯之家 www.it55.com

Status:R

IT资讯之家 www.it55.com

SGmhQbF6pm6hSafapmK69Lj0pFexb6q+sXqsT6Skp OWrSKXzsN3DRLFNrmGhQQ0Kq1+sTqq6vdCx sflj www.it55.com kg^&fgd

0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN……。

www.it55.com在线教程

说明: www.it55.com

Base64编码信件的乱码前一般有如下几部分“信头”:Content-Type(内容类型)、charset(字符集)及Content-Transfer-Encoding(内容传输乱码方式)。

vd;k;l www.it55.com rdfg

判断的依据比较明显。 http://www.it55.com/

第三种编码方法:

IT资讯之家 www.it55.com

QpencodeQP编码全名为“Quoted-Printable Content-Transfer-Encoding”。由于用这种格式表示的信息,其内容主要都是ASCII字符集中可以打印的字符,因此名称中含有printable。其大体格式为:

http://www.it55.com/

=A1A=B1z=A6n=A1I=A7=DA=A6b=BA=F4=B8=F4=A4W=B1o…… 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

=E5==ABH=A5=F3=B0=DD=C3D=B1M=Aea=A1A…… 免费资源www.it55.com

说明:

sflj www.it55.com kg^&fgd

采用QP(Quoted-Printable)编码方式的信件很容易进行判别,因为它的内容通常有很多等号“=”,因此不需要看“信头”也可以判断是否为QP编码。

vd;k;l www.it55.com rdfg

第三,根据所用的操作系统选择相应的软件程序,然后进行解码。 免费资源www.it55.com

判断出乱码信件的编码方法后,再根据自己所拥有的软件种类,选取合适的解码软件。由于不同平台上不同的软件程序使用方法差别很大,作者无法在此一一说明,只能由读者自己参照程序附带的Help、Readme等文件的说明,自行对乱码邮件进行解码。这里着重介绍DOS和Windows下的编 /解码程序的大体优缺点,供读者下载程序时参考,见表一。

IT资讯之家 www.it55.com

如果尝试过上述步骤后仍然无法解决问题,则可能有另外的原因: vd;k;l www.it55.com rdfg

1.该邮件采用了其它的编码方法,如Binhex或XXencode编码等。只要乱码前面有“信头”信息(一般显示了该邮件所用的编码方式),即可用Xferp111或其它“智能型”Windows程序将其解码。

IT资讯之家 www.it55.com

2.是否在中文环境内。如果你所用的操作系统是英文环境,而你又没有外挂中文系统(如中文之星)或未切换为中文(如RICHWIN四通利方或南极星等)编码方式,则你自然看不到中文,而只能看到乱码。注意,双字节字符有中文简/繁体的GB和BIG5码及日文的JIS、EUC和朝鲜文的KSC码等,在GB码环境下看其他双字节字符时也只能看到乱码。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

3.一封邮件的内容中第8位字节被滤掉了。这种情况下的邮件几乎无法还原。

(阅读次数:

返回顶部
共2页: 上一页 1 [2] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]