转邮件乱码破解完全手册.doc_第1页
转邮件乱码破解完全手册.doc_第2页
转邮件乱码破解完全手册.doc_第3页
转邮件乱码破解完全手册.doc_第4页
转邮件乱码破解完全手册.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

转 邮件乱码破解完全手册1转:邮件乱码破解完全手册12010-11-20 19:11邮件乱码破解完全手册1来源:ChinaUnix博客日期:2007.01.14 23:04(共有条评论)邮件乱码破解完全手册随着Internet的普及,在网上通过E-mail传递信息逐渐成为现代人生活的时尚,相信不久甚至还会成为一种生活的必需内容。但我们在接收电子邮件的时候,不时会发现接收的邮件是些怪模怪样的乱码,根本无法阅读。如果这些邮件的内容并不很重要,可能还不会有太大影响,可是假如是些紧急事件的通知或是生意场上的公函,则很可能就会给你带来不小的损失。遇到这种情况,你打算怎么办呢?把邮件丢进垃圾筒就当没收到,麻烦发信人再重发一次,还是自己找方法破译?我们知道,计算机以及很多计算机网络协议的制定都是建立在ASCII码(美国国家标准信息交换码,它是一种最基本的字符表示方法)基础上的,但是随着信息内容的日益丰富,用ASCII码表示计算机信息开始暴露出很大的不足,这主要表现在表示多国文字、图形、声音等二进制文件和信息压缩、信息保密等诸多方面。因此,在ASCII码和扩展ASCII码的基础上,用一定的规则定义一些新的信息表达形式就形成了信息传输和处理中的另一类概念和事物,这就是编码和解码。当信息编码和解码能够统一的时候,信息无疑是可以交换和被理解的;反之,当信息编码和解码不能够得到统一的时候,信息就无法被用于交换和理解,于是就产生了所谓的乱码。既然乱码的产生是由于信息编码和解码不能够得到统一,那么解决乱码的过程自然就是找到和编码相统一的解码方法,并对计算机软件不能全自动进行正确解码的信息进行重新处理和解码,最终使得所恢复的信息能被人们理解和交换,这就是所谓的破解。可以说,常见的乱码都有这样一些共性:(1)和汉字或其他语种的文字有关;(2)最常发生在电子邮件的传输和阅读中;(3)和传送二进制文件有关;(4)和信息加密解密、编码解码有关。而我们今天要讨论的电子邮件乱码的原因也正如前面所说,和相应的邮件发送系统、电子邮件软件以及操作系统平台本身,即它们用来自动识别和编码解码的协议规则,有着极为密切的关系。本文以目前最常使用的电子邮件软件Outlook Express和Foxmail为例(其它电子邮件软件有所提及),尽可能给出常见乱码的乱码原因、乱码现象、标志格式和解决方案,并为你提供一套经典的破解流程作为参考,只是希望对你破解邮件乱码DIY能有些许帮助。#1一、乱码产生之来龙去脉篇#1(一)邮件乱码产生的原因事实上造成邮件乱码的具体原因是很多的,但最为常见的不外乎有三种情况:1.传输机制不同由于Internet上的某些邮件服务器(国外居多)不支持8位(非标准ASCII码格式)的中文邮件传输,所以在它们之间传输邮件就会产生乱码。具体来讲,这是因为Internet邮件协议是在1982年定义的,当时的邮件基本上只由英语文本组成,而没有其它文件格式,因此当时定义的邮件协议普遍只支持简单的ASCII码文本(对DOS、Windows及Unix操作系统来说,所有英文字母及符号都是用ASCII码来表示的,而ASCII码只用到每个字节8位中的前7位)。这样,为了支持国际上流行的邮件协议,Internet上不少邮件系统相应只支持7位的ASCII码字符传输方式在当时看来也就顺理成章。但非常不巧的是,由于汉字的内码是8位的(一个汉字是用两个扩展ASCII码表示的),所以当在电子邮件系统之间传送中文信息时,如果没有经过那些只支持7位的邮件系统(比如在国内的邮件系统间传输),自然可以正确的识别中文;但如果恰好经过了那些只支持7位字符的邮件系统(即使只有一台这样不支持8位传输条件的主机,中文邮件都可能被破坏),它们会硬把8位数据当作7位来处理,将汉字内码第8位的1全部变为0,这当然就使邮件内容立刻变得面目全非起来。除了中文双字节邮件外,如果通过E-mail传送一些非ASCII码格式的文件(如.jpg、.exe、.zip)也会由于主机无法处理,而把信件中的每个字符的第8位都滤掉(即截去第8位),从而使信息和原始信息截然不同,造成邮件的完全损坏。这样的乱码当然就无法阅读了。由于传输机制不同造成邮件乱码的现象是邮件乱码产生的主要原因之一。2.邮件编码不同为了解决传输机制不同造成的邮件乱码,现在国际上普遍在电子邮件中采用各种邮件编码方式,即将8位的文件格式预先按照一定的规则进行编码,以使它可以完好地通过只支持7位字符的邮件传输系统。通过对邮件进行7位编码再进行传输和解码可以一定程度的解决截位乱码的现象。为了能既克服传输机制不同造成的中文或非ASCII码格式传输错误,又不违背当初的协议标准,现在普遍采用的编码方法是在邮件信息中转换要传递的二进制数据。我们把二进制数据转换为文本数据称作编码(encode),反之则称为解码(decode)。但问题是由于目前的编码标准有很多,如UU、MIME、BINHEX编码等等,如果收发双方都使用同一种编码/解码方式,那邮件传送自然不会有任何的问题,然而,如果发送方采用一种方式,而接受方不能正确的识别出这种编码方法,无疑就会出现乱码。此外,有的邮件在传输过程中还可能被邮件系统进行过特别的处理,当然也可能对数据进行了某种特别的编码,但我们在接收的时候怎么能自动的知道它到底经过了哪些处理呢?这样的话,由于邮件编码不同造成乱码现象看来也就不足为奇了。需要说明的是,由于在我国大陆地区,国标码GB2312码是通用的的简体中文内码,所以国内通行的绝大多数邮件系统都能够完全支持GB(国标码)内码的邮件,故而在国内邮件系统内传输电子邮件可以直接传送而不需要再进行任何编码。3.电子邮件软件或操作系统不同一般情况下,各种电子邮件软件的默认设置是不相同的,除此之外,收件人和发件人在电子邮件软件的自定义中的设定肯定也不尽相同,这无形中就为邮件乱码的产生创造了条件。如果发送方用某种编码方式发送了邮件,而接收方所持有的电子邮件软件对编码的设置与邮件编码不同,这样极有可能发生的情况是:电子邮件软件在收到编码过的信件后不能自动识别其编码方式,从而造成在查看信件的内容时出现所谓的乱码,我们自然无法阅读。此外,假如接收方所持有的电子邮件软件没有对应的解码功能,或者收发双方用的是两种支持不同编码的邮件软件,也同样可能造成无法正常阅读的错误。还有一种情况是,发送方从其他系统中转发了编码过的邮件内容给接收方,但接收的电子邮件软件只能将原编码过的内容原封不动的显示出来,而不能继续将这种乱码再进一步的智能转换为我们能阅读的文字。与电子邮件软件的影响相似,由于各个国家、各个地区可能使用不同的操作系统(包括同一种操作系统的高低级版本、中英文版本),往往会在阅读邮件(还有网页)时看到所谓的乱码。如对于不同的汉字编码,中国大陆用GB码、中国台湾用Big5码和HZ码、港澳特区有用GB码,也有用Big5码的,由于操作系统汉字内码的差异,在收发邮件时遭遇到乱码也就不算奇怪了。#1(二)E-mail中常见的编码标准如上面我们所谈到的那样,现在传送电子邮件的关键在于编码。只有经过编码,中文或非ASCII码格式的邮件才能正确通过Internet上那些不支持8位编码的邮件系统;只有电子邮件软件都完全支持,而且能正确识别编码的类别,电子邮件的内容才能为我们所阅读和理解。那么,在电子邮件系统中究竟有哪些编码标准呢?目前在E-mail中一般常用的编码标准有UU、MIME和BINHEX编码三种,其中MIME编码是目前应用最广泛的编码。下面我们就来详细了解一下这几种编码:1.UU编码(Unix-to-Unix encoding)这是邮件传输早期传送非ASCII码文件时最常使用的编码方式,它主要使用在Unix环境下(邮件系统大多都建立在Unix操作系统上),但目前使用者已经越来越少。UU编码实际上由Uuencode和Uudecode两部分组成,它们分别是Unix系统下的UU编码和解码程序,但其内部所用算法却是MIME编码中Base64编码的算法,后来被改写成为在DOS下运行的可执行程序。UU编码传输邮件的原理是:在进行邮件发送前,先在DOS方式下用Uuencode.exe程序将原文件编码成ASCII码文件,然后再进行发送,而收件人在接到文件后只需用Uudecode.exe程序将文件还原即可。此外,UU编码并非只能对中文邮件进行编码,只要你寄出的文件包括.gif、.jpg、.exe、.zip等二进制文件,它都能按照编码、发送、收信、解码还原的步骤来予以传送。这种编码方法现在虽已经不很常用了,但Outlook Express、Foxmail等绝大多数电子邮件软件都支持它。需要指出的是,UU编码是DOS系统下的编解码程序,在Windows系统中与之对应的编解码程序是Wincode(Winzip也采用了相似的原理)。事实上,Wincode的使用原理同DOS下的Uuencode和Uudecode相同,只不过它是利用了Windows的界面,从而使相应的操作方式更为简便和灵活。值得注意的是,Wincode程序除了支持UU编码外,还支持MIME、BINHEX等多种编码格式,故而应用范围相当广泛。2.MIME编码(Multipurpose Internet Mail Extentions)虽然UU编码也能解决E-mail传送中文或非ASCII码文件的问题,但它的编解码方式在现在看来非常不方便,这就促使了MIME编码标准的产生。Mimencode最早被称为Mmencode,之所以提出用Mimencode代替Uuencode,是因为Uuencode编码使用的一些字符在一些邮件网关(特别是那些转换ASCII码和EBCDIC码的网关)中会造成传输障碍。另外,还有一些电子邮件软件不能对所有Uuencode码的算法进行正确解码而导致邮件的阅读困难,因此MIME编码就被设计用来替代Uuencode编码,但历史的结果是这些编码协议得到了共存。MIME编码一般被译作多媒体邮件传送模式,它是可以传送多媒体文件,并在一封电子邮件中附加各种格式文件一起发送的编码标准。我们现在最常使用的电子邮件软件Outlook Express、Eudora、Foxmail和一些网上在线邮局如163、263等都是采用MIME编码方式的,所以我们得以非常轻松的收发电子邮件。由于MIME定义的是一种编码规格,或者可以说只是一类编码的统称,所以能够符合MIME标准的编码方式并非只有一种。事实上只要符合MIME规格的编码方式都能顺利的传送邮件。目前在MIME编码标准下公认的两种编码方式分别是Base64编码和QP(Quote-Printable)编码。另外,Internet上还有几种种编码是HZ编码、UTF-7编码和UTF-8编码。(1)Base64编码Base64的编码规则是将整个文件重新编码成7位以适用于传送二进制文件。具体来说是将字符流顺序放入一个24位的缓冲区(缺字符的地方就补零),然后再将缓冲区截断成为4个部分(高位在前),每个部分6位,并用下面的64个字符重新表示:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789+/。如果输入只有一个或两个字节,那么输出将用等号=补足,这样的编码方式可以有效隔断附加信息对编码造成的混乱。这就是Base64编码。(2)QP(Quote-Printable)编码QP编码的规则是,对于资料中的7位字符不作重新编码,而是仅将8位的数据转成7位即可。我们可以看到,QP编码是字符对应的编码,每个未编码的二进制字符都会被编码成3个字符,即一个等号加上两个该字符的16进制值,如=A8,但这样的编码数为1:3,所以编码效率相对于其它编码方式而言相当低。但不可否认的是,这种编码方法非常简单,特别适合那些数据大多数是7位的ASCII码文本、偶尔插入8位字母的情况,但遗憾的是对汉字编码效果不够好,因为每个双字节汉字经过编码后会变成6个字节。(3)HZ编码HZ编码也是一种Internet上常见的编码方式,它的编码规则是只对高位为1的字符(如汉字的双字节内码)进行编码。具体方法是将最高位屏蔽,只保留低7位,并将经过变换后的字符部分用符号和括起来,当解码的时候只需将括号对里面的那部分高位重置为1就可以正确的加以还原了。需要特别指出的是,MIME编码标准如今已成为Internet电子邮件的主流编码标准。它的好处显而易见:我们可以物件作为包装方式,然后将多种不同文件一起打包后传送。发信人只要将欲发送的文件选定好,MIME编码就会在传送时即时编码,待收信人收取邮件后同样也能即时解码还原这些文件。可以看得出来,这种全部由电子邮件软件自动完成的传送方式较UU编码方式来说,实在是方便不少。当然,这种邮件传送方式成功的先决条件是双方的邮件软件都必须支持MIME编码功能,要不然发信人很方便的把信送出去了,但收信人的软件却没有这种功能而无法把它还原,他看到的自然就是一大堆乱码了。要知道,使用这种方式用户根本不需要知道它是如何进行编码解码的,不管是用中文写信,还是寄多媒体文件,只要选好文件,选完后寄出,其余的工作可全部由电子邮件软件自动完成。由于MIME编码的这种便利性、可靠性,现在越来越多的电子邮件(几乎所有)都采用了这种编码方式,像我们国内用户最常使用的电子邮件软件Outlook Express、FoxMail、Eudora、The Bat!、Netscape Mail和Internet Mail等都支持MIME编码标准。一般来说,MIME编码中具体方式的选择也会影响编码之后邮件文件的大小,但具有MIME编码功能的E-mail软件大都能自动判别发送过来的邮件是采用何种MIME编码,然后自动选择是用Base64还是用QP来解码。当然,即使是正确的MIME编码也可能因为邮件文本格式的不规范而不能得以正确解码,这个时候,我们从E-mail软件或Hotmail里面得到的Base64编码或QP编码就可能成为乱码,这也是MIME编码产生乱码的主要原因之一。3.BINHEX编码由于BINHEX的编码方式主要用于Mac机,PC机上很少使用,所以一般PC机上的电子邮件软件多数支持MIME编码标准而很少支持BINHEX格式的。在我们常用的电子邮件软件中,只有Eudora具有这种功能可直接解读BINHEX编码。4.其它编码这类编码主要指日文Shift-JIS、日文Shift-EUC、韩文KSC、繁体中文Big5等语言内码,本文主要针对繁体中文Big5码而言。我们知道,由于它们是不同语言环境下的不同语言内码,在通过电子邮件传递的过程中就难免不出现乱码,因此这里将它们归为email中一类比较特别的编码。特别提示:对于上面提到的四类编码,最新的Foxmail 3.1版支持Uuencode和MIME两种编码,但MIME编码只支持8位(8bit)编码方式(也有称作UTF-8编码的),另外它还支持us-ascii、ISO-8859-1、简体中文GB2312、日文Shift-JIS、韩文KSC、繁体中文Big5等多种字符集。总的来说,它比较适合以纯文本方式传送正文。而Outlook Express 5则支持Uuencode编码和MIME中的Base64以及QP两种编码方式以及UTF-7、UTF-8编码和多国文字字符集,除此之外它还支持邮件正文以HTML方式传送,这就是我们用Outlook Express能看到有着漂亮背景的邮件的原因。另外,我们上面提到的Windows下的Wincode解码程序也能支持Uuencode编码、MIME编码以及Binhex编码,但非常遗憾的是,对于MIME编码,Wincode只能处理Base64的编码,而没有QP编码的功能,实在是有些美中不足。#1二、乱码现形之真相大白篇在以下内容中,我们将下面这段话作为所有乱码对应的简体中文,并存为lm.txt文本,用来分析下面九类乱码的特征与形式:在人类历史上,从来没有一项技术及其应用像互联网一样发展那么快,对人们的工作、生活、消费和交往方式影响那么大,并且,随着高度信息化的网络社会的到来,人们在生产和生活方式、观念和意识等方面也必然会发生巨大的变化。#1 1.Uuencode乱码由于Uuencode编码的内部所用算法是Base64编码的算法,所以它的格式与Base64编码格式非常相似,差别仅仅在于信头部分不同。Uuencode乱码的大体格式为:begin 666 lm.txt M(-3:R,OX,#ZRK?)SZ.LM-/M,.T#2N_NO+S*;RPQN33IM/#S_&MI 6.HZ乱码常见的汉字乱码还有一种是HZ编码产生的乱码,它是一种屏蔽最高位的汉字表示方法,是在GB码和Big5码的基础上用额外的控制序列来控制字形的显示,通常用和括起汉字编码部分,但字母和数字不被编码。HZ乱码的大体格式为:Mime-Version:1.0 Content-Type:text/plain;charset=hz-gb-2312Content-Transfer-Encoding:quoted-printableemail=TZHKzJ7IOTZHKzJ7IO/email#,email=4S4C;SPR;On4s5D1d;/!#我们可以看到这种乱码除了具有QP乱码的特征外,首尾分别是和这种特殊的括号。其信头下的内容即为在人类历史上,从来没有一项技术及.这段话的HZ编码。如果我们使用Outlook Express撰写邮件,并选用HZ编码发送,而使用Eudora来接收和阅读邮件,则看到的就是这些乱码。特别提示:通过对上面Base64、QP、UTF-7、UTF-8和HZ等MIME类编码邮件格式的认识,我们发现含有MIME编码的邮件的源码一般都含有:This is amulti-part message in MIME format.这样的句子,并且有如下几部分信头作为它的显著特征:(1)Content-Type(内容及类型)(2)Charset(字符集)(3)Content-Transfer-Encoding(内容传输编码方式)。#1 7.半个汉字乱码汉字邮件乱码的另一个常见形式是所谓的半个汉字乱码。这是因为很多英文编辑软件是以字符为单位来处理文本的,当双字节的汉字被删除一半后,剩余的部分就会和相邻的汉字重新组合,从而造成汉字文本面目全非的现象。特别是在英文字处理软件中输入、删除或使用字符替换功能时最容易出现这种情况,它往往会因为缺少汉字的前一个字符而把这个汉字的后一个字符与相邻汉字的前一个字符当作一个新的汉字来重新匹配。这种乱码的特征并不明显,看起来往往令人莫名其妙、不知所云。如在人类历史上,从来没有一项技术及.这段话对应的半个汉字乱码就有可能是如下这段乱码(丢失第一个汉字在的前半个字符):谌死嗬飞希永疵挥幸幌罴际跫捌溆孟窕谎鼓敲纯欤匀嗣堑墓鳌睢押徒煌绞接跋炷敲创螅遥孀鸥叨刃畔耐缟缁岬牡嚼矗嗣窃谏蜕罘绞健勰詈鸵馐兜确矫嬉脖厝换岱薮蟮谋浠我们可以看到这种乱码之所以乱的原因在于汉字前后搭配错位,所以如果是在英文字处理软件中处理邮件,你应该首先联想到这类乱码。#1 8.Big5乱码我们知道,中国大陆使用简体中文Windows平台的汉字内码是GB2312,台湾地区使用繁体中文Windows平台的汉字内码是Big5;而香港、澳门地区比较复杂,有用上述两种平台的,也有用英文Windows加挂中文之星、四通利方等中文平台的,那么其汉字内码是则GB2312和Big5码兼有。Big5乱码的大体格式为:摸菌眖兜砃莱钩羛呼妓祇甶癸禣纥臫襁帝蔼獭呼蹈穦玻芠种醚单礛穦祇跑我们可以看到,由于字符编码位置上的巧合和汉字平均出现概率上的统计,在GB2312码环境下看Big5编码的文字,将有汉字显示成为日语的假名,这就是在GB环境下看到Big5码汉字的主要特征。需要说明的是,简体和繁体这两个概念和GB、Big5码并没有任何逻辑上的联系,GB的定义是简体字,Big5采用的是繁体字,但是为了阅读的方便,它们在各自的编码中又做了一个内部字形或字体的映射,于是就形成了所谓GB简体或Big5繁体之类的概念。然而实际上GB和Big5码已经不能形成一一对应的关系了,因此它们之间的转换往往具有不可逆性。这倒不是说一段文字不能在GB和Big5码之间互相转换,而是说一旦将它们转换错了,信息就不能复原。比如你将在人类历史上,从来没有一项技术及.这段本来是GB2312码的文字转换成Big5码,然后再实施Big5码到GB码的转换,你会发现信息损失掉了,这种逆变换将不能再完全得到原来的文字了。#1 9.其它乱码这类乱码主要指的是日文Shift-JIS、日文Shift-EUC、韩文KSC等语言的编码在GB环境下的显示,如果我们所用的操作系统是英文环境,而我们又没有外挂中文系统(如中文之星)或未切换为中文(如Richwin、四通利方或南极星等)编码方式,那么我们自然看不到简体中文,而只能看到各种语言的内码,它们对我们这些没有学过相应语言的人来说当然是乱码。我们作为例子的在人类历史上,从来没有一项技术及.这段简体中文就可以分别对应日文Shift-JIS、日文Shift-EUC和韩文KSC三段形状迥异的乱码。在GB2312码环境下看其它双字节字符的邮件时只能看到乱码,这就是需要使用一些转码工具如Richwin、南极星等进行转码的原因。#1三、乱码消除之妙手回春篇#1(一)传输机制不同造成的乱码解决方法一般来说,如果邮件未经过编码造成第8位字节被滤掉而成为死乱码文档,还原起来是比较麻烦的,一般只有对计算机编码研究比较深的高手才能通过编程的方法将第8位的0重新还原为1。显然,这种方法并不对大多数人有效,所以我们需要寻求更简单的方法。目前一些共享软件提供了这样的功能,在后续文字中将向大家介绍。除此之外,如果大家收到这样的邮件,可以尝试利用具有解码功能的Winzip(最好是7.0版以上)和Wincode进行解码尝试,虽然不是一定能破解出来,但也不失为一个好方法。#1(二)编码不同造成的乱码解决方法对于因为编码不同而造成的乱码,我们首先应该尝试的是在电子邮件软件中转换编码(如果你的电子邮件软件不能自动解码)。由于这种编码大多出现在中文邮件的接收上,所以当乱码出现时,我们应当首先检查它的编码方式是否为简体中文(GB2312),如果不是可在Outlook Express中单击菜单栏查看/编码选项,并选中简体中文(GB2312)编码方式;在Foxmail中单击菜单栏邮件/字符转换选项,并选中简体中文(GB2312)编码方式,如果不行,还可以切换成其它编码试试。如果问题是由于语言内码不同造成的,则调出南极星、Richwin、中文之星等内码转换工具来查看。如果这些尝试都告失败,则你需要根据各种乱码格式的特征判别到底是哪种编码,并针对给出的不同编码作出如下处理:1.解决Uuencode乱码的方法方法1:如果电子邮件软件不能自动解码,则可以将Uuencode乱码邮件转寄到自己的一个邮箱中,然后再使用能够支持UU编码的电子邮件软件(如OutLook Express、Foxmail、Eudora、Becky、Netscape mail等)来接收该邮件。如在OutLook Express中就可单击菜单栏查看/编码选项,并选中简体中文(GB2312)编码方式,此时,屏幕会出现一个对话框,单击是按钮则所有邮件主题中含有指定字符集的邮件将应用新的字符集。方法2:将Uuencode乱码邮件存为一个.txt的文本文件,将文件名后缀改为.eml,由OutLook Express 5打开,就可以自动解码。方法3:将Uuencode乱码邮件存为一个.txt的文本文件,并改文件名后缀为.uue,然后使用Winzip(推荐使用Winzip7.0或更高版本)来解码。方法4:将Uuencode乱码邮件存为一个.txt的文本文件,然后在Windows下用Wincode程序解码,(Wincode程序除了支持UU编码外还支持MIME编码、BINHEX等编码格式,应用范围颇为广泛)。方法5:将Uuencode乱码邮件存为一个.txt的文本文件,然后到DOS下用uudecode.exe程序将文件解码。如将邮件名命名为lm,然后就可以用uudecode lm将其解码了,解码后即可自动生成解码后的文件,解码后文件名和发邮件时的文件名相同。当然,你也可以通过查看邮件中begin后的字符串得到文件名。2.解决Base64 encode乱码的办法方法1:将Base64 encode乱码邮件转寄到自己的一个邮箱中,然后用支持Base64解码的电子邮件软件(如OutLook Express、Foxmail、Eudora、Becky、Netscape mail等)来接收该邮件。方法2:将Base64 encode乱码邮件存为一个.txt的文本文件,将文件名后缀改为.eml,由OutLook Express打开,一般可以自动解码。如果邮件使用的是附件方式(或者不能直接由OutLook Express打开),则可将附件保存(或将信体保存)后再用OutLook Express打开查看。必要时可以剪贴下来存为.txt的文本文件,并加上如下信头:Mime-Version:1.0 Content-Type:text/plain;charset=gb2312Content-Transfer-Encoding:base64保存为.eml的文本文件后一般就可以用OutLook Express解码查看了。另外,如果邮件乱码不是GB码汉字,而像是Big5码,则需将gb2312改为big5试一试。如果你最终认定乱码不是中文文本,而是二进制文件;或者是明显的二进制文件,电子邮件软件却不能还原成附带(Attached)的文件,那么需要将信件中的Content-Type:text/plain;改为Content-Type:application/x-download;。方法3:将Base64 encode乱码邮件存为一个.txt的文本文件,并改文件名后缀为.uue,然后使用Winzip来解码。如果不行,还可在这个文本文件的邮件信头处添加如下几行:Mime-Version:1.0 Content-Type:text/plain;charset=gb2312Content-Transfer-Encoding:base64特别要注意的是信头中间不要空行,信头和信体之间却要留有一个空行,即在Content-Transfer-Encoding:base64下要留有一行空行。这样形成的文件名后缀依然要改为.uue,然后用Winzip打开,信体一般就会被正确解码。方法4:将Base64 encode乱码邮件存为一个.txt的文本文件,然后在Windows下用Wincode程序解码。3.解决QP encode乱码的方法方法1:将QP encode乱码邮件转寄到自己的一个邮箱中,然后用支持QP解码的电子邮件软件(如OutLook Express、Foxmail、Eudora、Becky、Netscape mail等)来接收该邮件。方法2:将QP encode乱码邮件存为一个.txt的文本文件,将文件名后缀改为.eml,由OutLook Express打开,就可以自动解码。如果邮件使用的是附件方式(或者不能直接由OutLook Express打开),则可将附件保存(或将信体保存)后再用OutLook Express打开查看。必要时可以剪贴下来存为.txt的文本文件,并加上如下信头:Mime-Version:1.0 Content-Type:text/plain;charset=gb2312Content-Transfer-Encoding:quoted-printable保存为.eml的文本文件后一般就可以用OutLook Express解码查看了。方法3:将QP encode乱码邮件存为一个.txt的文本文件,并改文件名后缀为.uue,然后使用Winzip来解码。如果不行,还可在这个文本文件的邮件信头处添加如下几行:Mime-Version:1.0 Content-Type:text/plain;charset=gb2312Content-Transfer-Encoding:quoted-printable信头中间还是不要空行,信头和信体之间也一定要留有一个空行,这样形成的文件名后缀依然需要改为.uue,然后用Winzip打开,则信体就会被解码,甚至E-mail中的标题或收发信人等信头位置带有的quoted-printable编码都可以一起被解决。此外,特别需要注意的是,与Base64编码不同的是QP编码不处理原邮件中的换行,因此要注意一个汉字是由两个字符组成的,它将会对应于Quoted-Printable编码的六个字符,如果经过重新编辑并且换行不当则又会造成半个汉字的乱码现象,你又需要相应作出调整。4.解决UTF-7乱码的方法方法1:将UTF-7乱码邮件转寄到自己的一个邮箱中,然后在OutLook Express中单击菜单栏查看/编码/Unicode(UTF-7)(如若第一次使用该项,需在其它中找)即可看到解码后的内容。方法2:如果邮件是别人转发过来的,或者邮件使用的是附件方式,你可将其保存后再用OutLook Express打开查看。必要时也可以剪贴下来,再加上如下信头:Mime-Version:1.0 Content-Type:text/plain;charset=utf-7Content-Transfer-Encoding:7bit保存为.eml的文本文件后用OutLook Express解码查看,同样需要单击菜单栏查看/编码/Unicode(UTF-7)。方法3:将UTF-7乱码邮件存为一个.txt的文本文件,并改文件名后缀为.uue,然后使用Winzip来解码。如果不行,还可在这个文本文件的邮件信头处添加如下几行:Mime-Version:1.0 Content-Type:text/plain;charset=utf-7Content-Transfer-Encoding:7bit要注意信头中间不要空行,信头和信体之间要留有一个空行(即在Content-Transfer-Encoding:7bit下要留有一行空行)。这样形成的文件名后缀依然要改为.uue,然后用Winzip打开,信体一般就会被正确解码。#1 5.解决UTF-8乱码的方法方法1:将UTF-8乱码邮件转寄到自己的一个邮箱中,然后在OutLook Express中单击菜单栏查看/编码/Unicode(UTF-8)(如若第一次使用该项,需在其它中找)即可看到解码后的内容。方法2:如果邮件是别人转发过来的,或者邮件使用的是附件方式,你可将其保存后再用OutLook Express打开查看。必要时也可以剪贴下来,再加上如下信头:Mime-Version:1.0 Content-Type:text/plain;charset=utf-8Content-Transfer-Encoding:8bit保存为.eml的文本文件后用OutLook Express解码查看,同样需要单击菜单栏查看/编码/Unicode(UTF-8)。方法3:将UTF-8乱码邮件存为一个.txt的文本文件,并改文件名后缀为.uue,然后使用Winzip来解码。如果不行,还可在这个文本文件的邮件信头处添加如下几行:Mime-Version:1.0 Content-Type:text/plain;charset=utf-8Content-Transfer-Encoding:8bit要注意信头中间不要空行,信头和信体之间要留有一个空行(即在Content-Transfer-Encoding:8bit下要留有一行空行)。这样形成的文件名后缀依然要改为.uue,然后用Winzip打开,信体一般就会被正确解码。#1 6.解决HZ乱码的方法方法1:将HZ乱码邮件转寄到自己的一个邮箱中,然后在OutLook Express中单击菜单栏查看/编码/简体中文(HZ),即可看到解码后的内容。方法2:将HZ乱码邮件存为一个.txt的文本文件,将文件名后缀改为.eml,由OutLook Express打开,并单击菜单栏查看/编码/简体中文(HZ)即可看到解码的内容。如果邮件使用的是附件方式,则可将附件保存后再用OutLook Express打开查看。必要时也可以剪贴下来,再加上如下信头:Mime-Version:1.0 Content-Type:text/plain;charset=hz-gb-2312Content-Transfer-Encoding:quoted-printable保存为.eml的文本文件后用OutLook Express解码查看。方法3:将HZ乱码邮件存为一个.txt的文本文件,并改文件名后缀为.uue,然后使用Winzip来解码。如果不行,还可在这个文本文件的邮件信头处添加如下几行:Mime-Version:1.0 Content-Type:text/plain;charset=hz-gb-2312Content-Transfer-Encoding:quoted-printable特别要注意的是信头中间不要空行,信头和信体之间却要留有一个空行(即在Content-Transfer-Encoding:quoted-printable下要留有一行空行)。这样形成的文件名后缀依然要改为.uue,然后用Winzip打开,信体一般就会被正确解码。特别提示:通过对上面六类乱码的解决,我们能够看出对于UU编码和MIME类的乱码,一般可以有三种方法解决,第一种是通过转寄乱码邮件(有的情况下可以不用转寄)后用支持该编码的电子邮件软件来接收、查看;第二种是将乱码邮件存为以.eml为后缀名的文本文件,然后用OutLook Express解码查看;第三种则是将乱码邮件存为以.uue为后缀名的文本文件,然后用Winzip解码查看,如果这两种方式没有能够直接解码成功,则一般可以通过添加信头来解决。对于各种不同类型的乱码,它们要添加的信头仅仅在于字符集charset和内容传输编码方式Content-Transfer-Encoding有区别。另外,对于Uuencode编码和Base64乱码,还有第四种方法,就是用Windows下的Wincode程序来解码阅读。#1 7.解决半个汉字乱码的方法对于半个汉字乱码,只要将乱码邮件存为一个.txt文本文件,然后使用以字符为单位的编辑软件,将乱码行的首字符删除,后面的部分就会和相邻的乱码重新组合成可识别的汉字。这样虽然会丢失前面一个(或几个)汉字,但能挽救、还原大部分汉字,有时候就足够猜测出邮件的原意了。#1 8.解决Big5码和其它(如其它语言内码)乱码的方法对于这些乱码邮件,除了可以在Outlook Express中单击菜单栏查看/编码选项,并选中简体中文(GB2312)编码方式查看外,还可以用一些支持多种编码的中文系统,如中文之星、Richwin、南极星等转换平台,并在其中选择GB2312码,一般就可以正常显示邮件为简体中文了。#1 9.解决BINHEX乱码的方法这里还想对BINHEX乱码作一不完全的解法介绍,虽然它极为少见,但如果你不幸碰上,还是可以用下面的方法试一试:方法1:对于由BINHEX编码产生的乱码邮件,用Eudora来查看它。方法2:用一个专门解读BINHEX编码的程序Binhex3.exe(共享软件,在许多FTP站点都能找到)来打开阅读。方法3:将Base64 encode乱码邮件存为一个.txt的文本文件,然后在Windows下用Wincode程序解码。#1四、乱码转换之简单装备篇#1 1.乱码察看器(CodeView)版本:2.50软件大小:293KB发布日期:2000/8软件类型:免费软件使用平台:Windows95/98/ME/NT/2000下载地点:功能等级:乱码察看器,顾名思义就是用来察看各种乱码的一个小工具软件。它目前支持Uuencode编码、Base64编码、Quoted-Printable编码和HZ编码四种单一形式的编码和解码以及Base64、Quoted-Printable和HZ编码三种的混合形式的乱码察看。除此之外,还提供了对Big5码的支持,可以在Big5码和GB码之间自由转换(也可以让程序自动识别并将Big5码转换成GB码),所以应该算是同类软件中功能较为齐全的软件了(特别是可以在Win2000下使用)。乱码察看器的界面不算很漂亮(如53200027 a1),但操作起来很简单,一般有两种使用方法:一种是在有乱码的窗口中直接按下单键解码热键(默认为F7),此时如果窗口中的乱码能被识别,就会出现一个窗口覆盖掉当前的乱码窗口,我们可以直接在这个窗口中阅解码后的内容。作者建议你在大多数情况下都使用这种方式;第二种方法是将乱码内容通过剪贴板复制到乱码察看器的源窗口中,然后手工尝试用不同的解码方式进行解码,可以看到这种解码方法将提供给你更多的选择自由,并且可以使用一些在单键解码中无法实现的解码方式,如通过其他方式解码解决由于字节高位被屏蔽而形成的死乱码和通过UUCode解开Uuencode解码等。对于一些单键解码无法解决的乱码问题我们不妨使用此方式试试。乱码察看器还有一个特色是提供了剪贴板实时监视、混合乱码识别和智能弹出功能(智能弹出功能采用混合编码的识别方法)。但是由于乱码的多样性,它识别混合编码的成功率并不是很高,甚至经常会出现一些原本正常的内容被识别错误的情况,这时你不妨将单一的乱码复制到剪贴板里(只复制乱码部分,而不要包含正常的文字),或者采用在乱码察看器中手动解码的方法来试试。另外,如果一些正常文本复制到剪贴板后,乱码察看器也会将它误识为乱码而自动弹出,这时建议你将其设置为不要自动弹出,可以避免一些不必要的麻烦。总的说来,这款小软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论