`
izuoyan
  • 浏览: 9219842 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多
一、编码的必要性
E-mail只能传送ASCII码(美国国家标准信息交换码)格式的文字信息,ASCII码是7位代码,非ASCII码格式的文件在传送过程中就需要先编成7位的ASCII代码,然后才能通过E-mail进行传送;如果不经过编码,则在传送过程中会因为ASCII码7位的限制而被分解,分解之后只会让收信方看到一堆杂乱的ASCII字符。经过编码后的文件,在传送过程中可顺利传送,不会有“被截掉一位”的危险。但是收信方必须具有相应的解码程序,将这份经过编码的东西还原,才能看到发信人要传送的信息是什么。
有一点要注意:大部分的人认为“文本文件不需要编码”,但我们的中文是属于8位代码的文字,并不是标准的ASCII码格式,由于在国内中文是通行的文字,所以大部分的邮件服务器都已能够处理GB内码的文件,因而不需要做这种编码/解码的操作,可以直接传送。但如果要送中文邮件到国外,就需要经过这种转换才能传送,因为国外的邮件服务器是无法辨认中文内码的。中文码在经过一些不支持中文内码的传递主机时,依然会被截掉一位,造成文件支离破碎无法读龋而经过编码的中文邮件,收信人收到后将文件解码还原,也需要有中文系统才能看所写的中文信息。

二、常见的三种编码标准

●UU编码(Unix-to-Unixencoding)
uuencode和uudecode原来是unix系统中使用的编码和解码程序,后来被改写成为在DOS中亦可执行的程序。在早期传送非ASCII码的文件时,最常用的便是这种UU编码方式。
使用的方法是:发邮件前,在DOS下先用uuencode.exe程序将原文件编码成ASCII码文件,然后将邮件发出。收信人收到邮件后,用uudecode.exe程序将文件还原。
基于Windows的类似程序有wincode和winzip等。
wincode的使用原理和DOS下的uuencode和uudecode没什么两样,只是在Windows的界面下操作更为简便。wincode除支持UU编码外也支持MIME、Binhex等编码格式,应用范围颇为广泛。
以上介绍的UU编码并非只能编中文文字。任何你要寄送的文件包括exe等二进制文件都可以按照编码→发送→收信方收信→解码还原的步骤传送。

●MIME标准(MultipurposeInternetMailExtentions)
UU编码解决了E-mail只能传送ASCII文件的问题。但这种方式其实并不是很方便,因而又发展出一种新的编码标准,其全名是MultipurposeInternetMailExtentions,一般译作“多媒体邮件传送模式”。顾名思义,它可以传送多媒体文件,在一封电子邮件中附加各种格式文件一起送出。
MIME标准现已成为Internet电子邮件的主流。它的好处是以物件作为包装方式,可将多种不同文件一起打包后传送。发信人只要将要传送的文件选好,它在传送时即时编码,收信人的软件收到也是即时解码还原,完全自动化,非常方便。当然先决条件是双方的软件都必须具有这种功能,要不然发信人很方便地把信送出去了,但收信人的软件如果没有这种功能,无法把它还原,看到的也就是一大堆乱码了。使用这种方式,用户根本不需要知道它是如何编码/解码的。即使只是用文字写的信,一样是打好包便寄出。如果是要寄多媒体文件,只要做选文件的动作,选完后寄出,其余的工作由电子邮件软件自动完成。
由于MIME的方便性,愈来愈多的电子邮件软件采用这种方式。(我们现在最常使用的电子邮件软件Eudora、NetscapeMail、InternetMail等就是采用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=A1A=AB=DC=B0=AA=B
Base64编码后的文字通常是:pGquYaZuoUmn2qxPseepc6dnoUGr3LCqv70ms773t3ymYqa5plakaq5hptu如果你使用支持MIME标准的电子邮件软件,那么在收发信件的过程中是看不到这些乱七八糟的字符的。但如果很不幸,收信人没有这种支持MIME的软件,他看到的东西就是上面那一大段符号了。不过别急,你仍然可以先将这份“天书”存档,然后使用一些decode软件把它翻译回来。

●Binhex编码
Binhex的编码方式常用于Mac机器,在PC上是较少使用的一种编码方式。一般PC上的电子邮件软件,亦多数支持MIME的规格,很少有支持Binhex格式。在常用的电子邮件软件中,唯Eudora具有这种功能,可直接解读Binhex的编码,如果你收到了这种由Binhex所编码的邮件,而且你的mail软件并不是Eudora或其他支持Binhex格式的软件。那也得用一个解读Binhex的程序解码。有一个共享软件Binhex3.exe具有这个功能,它在许多FTP站点都能找到。
在Windows下,你还可以用我们前面所介绍的wincode来解码。本文介绍的UU编码、MIME以及Binhex都可以用它来处理。但可惜的是,对于MIME,它只处理Base64的编码。如果能再加上QP的功能,真的可以靠它走遍天下了。
在MIME几乎已成标准规格的现在,用一套支持MIME的软件来做收发E-mail的工作,这些编码/解码工作就会自动完成,不会给你带来麻烦。
分享到:
评论

相关推荐

    Python3利用SMTP协议发送E-mail电子邮件的方法

    SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是一种用于电子邮件传输的标准协议。它定义了一套规则,使得邮件可以从发件人的计算机传送到收件人的计算机。SMTP协议主要用于邮件的发送过程,即从MUA到...

    RFC2327(sdp).rar_MMUSIC工作组_Mmus_RFC 2327_SAP

    SDP也是MMUSIC工作组的一...典型的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP,和使用MIME的E-Mail.(注意:对SAP只能包含一个会话描述,其它会话传送协议的SDP可包含多个会话描述)

    邮件服务器概念及MAIL工作原理资料.pdf

    电子邮件(E-mail)是一种通过网络,特别是因特网进行发送、接收和存储消息的系统。为了使电子邮件能够在互联网上顺畅地传送,存在着几个关键的组件和协议,包括简单邮件传输协议(SMTP)、邮局协议(POP3)、互联网...

    自学考试计算机网络技术试题.doc

    19. **E-mail地址与IP转换**:E-mail地址中的主机域名转换成IP地址是通过域名系统(DNS)来实现的。 20. **ISP接入方式**:大多数因特网服务供应商通过租用高速通信线路接入因特网。 这些知识点涵盖了计算机网络的...

    计算机基础一答案.pdf

    - E-Mail(电子邮件):是通过网络发送和接收电子信息的一种通信方式。 - HTTP(超文本传输协议):是用于从万维网服务器传输超文本到本地浏览器的传输协议。 5. 计算机语言相关知识点: - HTML(超文本标记语言...

    WEB渗透测试数据库

    该模块使用3种技术进行子域名爆破: 域传送漏洞检测、利用 DNS字典爆破 Google Hacking搜索 注:支持输出到html文件,使用*-o xxx.html*做为输出文件即可 例如: # 使用域传送技术、Google Hacking对aaa.com ...

    2021-2022计算机二级等级考试试题及答案No.14430.docx

    - **详细解释**:E-mail地址的标准格式为`username@hostname`,其中`username`是用户的账户名称,`hostname`是指邮件服务器的域名。 - **应用场景**:E-mail地址用于日常通信、注册账号等场景。 ### 7. C语言循环...

    物联网安全_实验9 信息保密性、完整性和不可抵赖性的综合应用.doc

    E-mail兼容性 Radix-64 对E-mail应用提供透明性,采用基数64编码将加密后的消息(二进制流)转换为ASCII字符串 数据分段 - 为了适应最大消息长度限制,PGP执行分段和重新组装 2、PGP的密钥管理 PGP是一种混合密码...

    计算机(20211010002325).pdf

    11. 计算机网络中的E-Mail指的是电子邮件,是互联网通信的一种形式。而IPX/SPX是NetWare操作系统使用的网络协议集。 12. 计算机中CPU是中央处理器,是计算机的核心硬件部件,负责执行指令和处理数据。 13. 网页中...

    计算机一级MSoffice.pdf

    - **ASCII码**是最常见的字符编码标准,用于表示英文字符集。 - **EBCD码**(扩展的BCD码)用于IBM早期的大型机。 - **补码**用于表示整数的二进制形式。 - 微型机中普遍采用的字符编码是**B)ASCII码**。 7. **...

    计算机一级选择题二.pdf

    2. **电子邮件**:发送电子邮件需要知道收件人的E-mail地址,并且需要E-mail软件支持,发件人也必须有自己的E-mail账号。收件人无需邮政编码,因此(A)是错误的说法。 3. **匿名FTP服务**:允许没有账户的用户登录...

    CVAVR用户手册(中文版)

    ##### 2.8 通过E-Mail联系HPInfoTech - 提供官方联系方式,用户可以通过电子邮件获取技术支持。 ##### 2.9 退出CodeVisionAVRIDE - 安全退出IDE环境。 #### 三、CVAVR的特殊功能库 - CVAVR除了提供标准的C语言库...

    计算机网络基础及应用题库.pdf

    35. 串行数据通信的方向性结构有三种,即单工、半双工和全双工。 36. 常用的数据交换有报文交换和分组交换两种,后者又有虚电路交换和数据包分组两种实现方法。 37. ATM 的信元具有固定的长度,即总是 53 字节,其中...

    中文简体压缩软件RAR 6.0

    在列表文件中 Win32 控制台 RAR 使用 OEM (DOS) 编码。 你可以在同一命令行指定普通文件名和列表文件。如果文件和列表 文件都未被指定,那么 RAR 将默认是 *.*,来处理所有文件 在一个 UNIX 环境变量中,...

    6周年自考考试计算机网络技术同步习题6中大网校.pdf

    本题中提到的一个选择题涉及到接口标准的描述,这可能包括如以太网接口、USB接口、串行接口等各种类型。接口标准的正确选择对于设备之间的兼容性和通信效率至关重要。 2. 网络连接问题:无法连线可能是由于多种原因...

    EASYTODO客户管理系统4.09版

    系统生成的单证有固定的文件格式,用户无需进入系统就可以通过外挂的浏览器对单证进行传送或者编辑, 生成的单证可以进行口令保护、支持E-mail传送、多种格式的转换。 11.智能升级: 智能在线升级系统保证了系统的...

Global site tag (gtag.js) - Google Analytics