Software 版 (精华区)

发信人: checcy (老巴夺), 信区: Software
标  题: E-mail传送中的三种编码标准
发信站: 哈工大紫丁香 (Mon Apr  6 11:47:23 1998), 转信

E-mail传送中的三种编码标准



                       一、编码的必要性                          

                         E-mail只能传送ASCII码(美国国家标准信息交
                  换码)格式的文字信息,ASCII码是7位代码,非ASCII码格
                  式的文件在传送过程中就需要,先编成7位的ASCII代码,
                  然后才能通过 E-mail进行传送;如果不经过编码,则在
                  传送过程中会因为ASCII码7位的限制而被分解,分解之后
                  只会让收信方看到一堆杂乱的 ASCII字符。经过编码后的
                   文件,在传送过程中可顺利传送,不会有“被截掉一位”
                   的危险。但是收信方必须具有相应的解码程序,将这份经
                   过编码的东西还原,才能看到发信人要传送的信息是什么
               。                                                

                        有一点要注意:大部分的人认为“文本文件不需
                   要编码”,但我们的中文是属于 8位代码的文字,并不是
                  标准的 ASCII码格式,由于在国内中文是通行的文字,所
                   以大部分的邮件服务器都已能够处理GB内码的文件,因而
                   不需要做这种编码 /解码的操作,可以直接传送。但如果
                   要送中文邮件到国外,就需要经过这种转换才能传送,因
                   为国外的邮件服务器是无法辨认中文内码的。中文码在经
                   过一些不支持中文内码的传递主机时,依然会被截掉一位
                   ,造成文件支离破碎无法读取。而经过编码的中文邮件,
                   收信人收到后将文件解码还原,也需要有中文系统才能看
                所写的中文信息。                                  

                       二、常见的三种编码标准                    

                       ●UU编码(Unix-to-Unix encoding)        

                       uuencode和uudecode原来是unix系统中使用的编
                  码和解码程序,后来被改写成为在 DOS中亦可执行的程序
                  。在早期传送非 ASCII码的文件时,最常用的便是这种UU
                编码方式。                                        

                        使用的方法是:发邮件前,在DOS下先用uuencod
                   eexe程序将原文件编码成ASCII码文件,然后将邮件发
                  出。收信人收到邮件后,用 uudecodeexe程序将文件还
               原。                                              

                       基于Windows的类似程序有wincode和winzip等。
                 wincode的使用原理和DOS下的uuencode和uudecode没什么
                  两样,只是在Windows的界面下操作更为简便。wincode除
                  支持UU编码外也支持MIME、Binhex等编码格式,应用范围
                颇为广泛。                                        

                        以上介绍的UU编码并非只能编中文文字。任何你
                  要寄送的文件包括 exe等二进制文件都可以按照编码→发
                  送→收信方收信→解码还原的步骤传送。              

                      ●MIME标准(Multipurpose Internet Mail Exte
                ntions)                                          

                        UU编码解决了E-mail只能传送ASCII文件的问题
                   。但这种方式其实并不是很方便,因而又发展出一种新的
                编码标准,其全名是Multipurpose Internet Mail Exten
                   tions,一般译作“多媒体邮件传送模式”。顾名思义,
                   它可以传送多媒体文件,在一封电子邮件中附加各种格式
                文件一起送出。                                    

                        MIME标准现已成为Internet电子邮件的主流。它
                   的好处是以物件作为包装方式,可将多种不同文件一起打
                   包后传送。发信人只要将要传送的文件选好,它在传送时
                   即时编码,收信人的软件收到也是即时解码还原,完全自
                   动化,非常方便。当然先决条件是双方的软件都必须具有
                   这种功能,要不然发信人很方便地把信送出去了,但收信
                   人的软件如果没有这种功能,无法把它还原,看到的也就
                   是一大堆乱码了。使用这种方式,用户根本不需要知道它
                   是如何编码 /解码的。即使只是用文字写的信,一样是打
                   好包便寄出。如果是要寄多媒体文件,只要做选文件的动
                   作,选完后寄出,其余的工作由电子邮件软件自动完成。
                  由于MIME的方便性,愈来愈多的电子邮件软件采用这种方
                  式。(我们现在最常使用的电子邮件软件Eudora、Netscap
                  e Mail、Internet Mail等就是采用MIME方式,所以我们
                 才能如此轻松地收发电子邮件。 )                    

                        MIME定义的是一种规格,也可以说是一种统称。
                   其实能够符合这种规格的编码方式并不是单一的一种,只
                  要符合这种MIME规格便可顺利传送。以货运作为比喻,若
                   货运公司规定送交货运的规格是 1立方米大小的箱子便可
                   托运,它并没有限制一定要用木箱或是铁皮箱,只要是 1
                   立方米大小,货运公司就帮你送达。至于箱子里你是装食
                   品或是书本或是衣服或是混合着装也没有限定,也就是说
                 ,多种格式的文件可以一起寄送。                    

                         就上例而言,“1立方米大小”是货运规格,也
                  就是我们的MIME规格。木箱或铁皮箱是编码方式,现在我
                  们就来看看你有哪些“箱子种类”可以选择。MIME定义两
                 种编码方式:Base64与QP(Quote-Printable)。QP的规则
                  是对于资料中的 7位无须重复编码,仅将8位的数据转成7
                  位。 QP编码适用于非ASCII码的文字内容,例如我们的中
                  文文件。而Base64的编码规则,是将整个文件重新编码成
                    7位,通常用于传送二进制文件。编码的方式不同会影响
                  编码之后的文件大小。而具有 MIME功能的E-mail软件大
                   都能自动判别你的邮件是采用何种编码,然后自动选择用
                QP或Base64来解码。                                

                        QP编码的方式,是将一个字节用两个16进制数值
                  表示,然后在前面加“ =”。所以我们看到经过QP编码后
                 的文字通常是这个样子:                            

                     =A4j=AEa=A6n=A1I=A7=DA=AC0=B1=E7=A9s=A7g=A
               1A=AB=DC=B0=AA=B                                  

                       Base64编码后的文字通常是:                

                     pGquYaZuoUmn2qxPseepc6dnoUGr3LCqv70ms773t3
               ym                                                

                    Yqa5plakaq5hptu                              

                        如果你使用支持MIME标准的电子邮件软件,那么
                   在收发信件的过程中是看不到这些乱七八糟的字符的。但
                  如果很不幸,收信人没有这种支持MIME的软件,他看到的
                   东西就是上面那一大段符号了。不过别急,你仍然可以先
                  将这份“天书”存档,然后使用一些decode软件把它翻译
                回来。                                            

                      ●Binhex编码                              

                         Binhex的编码方式常用于Mac机器,在PC上是较
                   少使用的一种编码方式。一般PC上的电子邮件软件,亦多
                  数支持MIME的规格,很少有支持Binhex格式。在常用的电
                  子邮件软件中,唯Eudora具有这种功能,可直接解读Binh
                  ex的编码,如果你收到了这种由Binhex所编码的邮件,而
                  且你的mail软件并不是Eudora或其他支持Binhex格式的软
                  件。那也得用一个解读Binhex的程序解码。有一个共享软
                  件 Binhex3exe具有这个功能,它在许多FTP站点都能找
               到。                                              

                        在Windows下,你还可以用我们前面所介绍的win
                  code来解码。本文介绍的UU编码、MIME以及Binhex都可以
                  用它来处理。但可惜的是,对于MIME,它只处理Base64的
                   编码。如果能再加上QP的功能,真的可以靠它走遍天下了
               。                                                

                        在MIME几乎已成标准规格的现在,用一套支持MI
                  ME的软件来做收发E-mail的工作,这些编码/解码工作就
                  会自动完成,不会给你带来麻烦。(湖南 孙 谦)      

-- 
*********************************
Chengyan Che - Software Freelancer
Harbin, P.R.China
mailto: checcy@public.hr.hl.cn
ICQ: 5116726

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: checcy@public.hr.hl.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:206.392毫秒