乱码大全(6)──MIME/BASE64介绍

来源:百度文库 编辑:神马文学网 时间:2024/04/30 01:12:52
乱码大全(6)──MIME/BASE64介绍 

  MIME: Multipurpose Internet Mail Extensions 

  英国帝国大学计算机在线字典 FOLDOC 对 MIME 的解释为:“多部分( multi- part )、多媒体电子邮件和 WWW 超文本的一种编码标准,用于传送诸如图形、声音和传真等非文本数据。MIME 定义于 RFC 1341,用 MIMENCODE 的方法将二进制数据转换成为一种被称为 BASE64 的 ASCII 子集的字符的组合。”

  Internet 上有专门讨论 MIME 的新闻组:comp.mail.mime。该新闻组的 FAQ 可以从下面的网点获得: 
http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/mime-faq/mime0/faq.html 

  MIMENCODE 最早称为 MMENCODE,提出用 MIMENCODE 代替 UUENCODE,是因为 UUENCODE 使用了一些字符在一些邮件网关(特别是那些转换 ASCII 和 EBCDIC 码的网关)中造成传输障碍,(还有一些软件不能对所有 UUENCODE 的算法进行正确解码而导致邮件的阅读困难),因此 MIME 被设计用于替代 UUENCODE,但是结果是这些协议共存。

  MIME/BASE64 的算法很简单,它将字符流顺序放入一个 24 位的缓冲区,缺字符的地方补零。然后将缓冲区截断成为 4 个部分,高位在先,每个部分 6 位,用下面的 64 个字符重新表示:“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop qrstuvwxyz0123456789+/”。如果输入只有一个或两个字节,那么输出将用等号“=”补足。这可以隔断附加的信息造成编码的混乱。这就是BASE64。

UEsDBBQAAgAIAEapPiS/mrkHoQEAAEECAAAMAAAAYWNhZDd+dWUudHh0dVFRb5swGHyPlP9Q5Iet
TUICzCUJASTiFuIQhwbHRJnUqmRsndqmVQO0CsK/fXbRVvVh+AV9vrvv7txunYiPV8rAW3n33w5B
R9FAN3ld34Axr9OHIjtkt7wC3bmKHD+zznjteTGvjBnVFGCdxz265XW7dfI+ZVFyRjegO3hix8nl
fGcdjeLqy/rGTp0Sj+Jp8Djho9oIWRSX0IYIwwmWbF4RHKYK0ByCaI9u4u3HukYZIvE32+fZyz7L 

  含有 MIME/BASE64 编码的邮件,你查看它的源码时 一般都含有:“This is a multi-part message in MIME format.”这样的句子。也可以被绝大多数的 email 程序进行解码,包括 Netscape、MS Mail、Eudora等。这些程序可以正确识别邮件的正文,恢复 MIME/BASE64 编码的部分为正确的文字或夹带的二进制文件。 

  如果这些文件不能正确被恢复,可以将邮件原文存成文本文件,改文件名后缀为 .UUE,让 Winzip 自动识别并恢复。推荐使用 Winzip 6.3 SR-1 或更高的版本。也可以将文件后缀改为 .EML , 由 Microsoft Mail 或 OutLook Express 打开,该软件也可以自动解码。另外很多网点,如 
http://www.shareware.com 、 
http://www.download.com 、 
http://www.hotfiles.com 、 
http://www.alberts.com 
等都可以通过查询 MIME 关键字得到大量的小型应用程序支持 MIME 的转换。