电子邮件中的字符串

转载 2006年05月20日 16:08:00
电子邮件中的字符串

当一段 Text 或者 HTML 通过电子邮件传送时,发送的内容首先通过一种指定的字符编码转化成“字节串”,然后再把“字节串”通过一种指定的传输编码(Content-Transfer-Encoding)进行转化得到另一串“字节串”。比如,打开一封电子邮件源代码,可以看到类似的内容:

Content-Type: text/plain;
        charset="gb2312"
Content-Transfer-Encoding: base64

sbG+qcrQuqO17cf4yee74bGjz9W7+b3wudzA7dbQ0MQNCg0KvPKzxqO6uqO17cnnsaPW0NDEDQoNCg==

最常用的 Content-Transfer-Encoding 有 Base64 和 Quoted-Printable 两种。在对二进制文件或者中文文本进行转化时,Base64 得到的“字节串”比 Quoted-Printable 更短。在对英文文本进行转化时,Quoted-Printable 得到的“字节串”比 Base64 更短。

邮件的标题,用了一种更简短的格式来标注“字符编码”和“传输编码”。比如,标题内容为 "中",则在邮件源代码中表示为:

// 正确的标题格式
Subject: =?GB2312?B?1tA=?=

其中,

  • 第一个“=?”与“?”中间的部分指定了字符编码,在这个例子中指定的是 GB2312。
  • “?”与“?”中间的“B”代表 Base64。如果是“Q”则代表 Quoted-Printable。
  • 最后“?”与“?=”之间的部分,就是经过 GB2312 转化成字节串,再经过 Base64 转化后的标题内容。

如果“传输编码”改为 Quoted-Printable,同样,如果标题内容为 "中":

// 正确的标题格式
Subject: =?GB2312?Q?=D6=D0?=

如果阅读邮件时出现乱码,一般是因为“字符编码”或“传输编码”指定有误,或者是没有指定。比如,有的发邮件组件在发送邮件时,标题 "中":

// 错误的标题格式
Subject: =?ISO-8859-1?Q?=D6=D0?=

这样的表示,实际上是明确指明了标题为 [0x00D6, 0x00D0],即 "ÖÐ",而不是 "中"。

相关文章推荐

如何通过电子邮件了解你的客户

对电子商务行业而言,相较于社交网络或者全渠道复杂多样的营销方式,邮件营销则看起来较为简单:我们只是将信息发送给客户,并且希望客户喜欢这些内容。 显然,在真实的邮件营销层面远非如此简易。我们会解读...

电子邮件的POP3/SMTP/IMAP服务

IMAP   IMAP全称是Internet Mail Access Protocol,即交互式邮件访问协议,是一个应用层协议(端口是143)。用来从本地邮件客户端(Outlook Expres...

电子邮件管理,屏蔽干扰

性格决定了命运,你的努力,选择,耐心都可能影响你的一生,如何为人处世是个大命题,这里不扯这些,仅聊一聊专注力的事情,如何屏蔽干扰。 现在育儿都很注重一点,就是专注力。我女儿在认真玩耍的时候,有人尝试...
  • Anzor
  • Anzor
  • 2015-04-02 14:00
  • 318

[Flask Web开发] 第6章 电子邮件

[Flask Web开发] 第6章 电子邮件 学习Flask Web开发将近一个星期了,在进行第6章的学习时,邮箱设置了半天都没发出去,书中讲的不是很清楚,在这里分享出来,避免大家把时间花费在不必要...

B2B电子邮件营销:下一个突破口在哪?

Webpower发布的《2016 B2B企业电子邮件营销趋势》受到了许多B2B营销者的关注(想了解内容的网友可以上网去搜,或者直接上Webpower官网去看),那么除了了解B2B邮件营销在今年将发生哪...

发送电子邮件

发送电子邮件,在你的站点上添加一个用户,改用的电子邮件地址为:g089h515r806@gmail.com.在添加改用的时候,向这个用户的电子邮件地址发送一封邮件,表示为它创建了一个账户。 warn...
  • mecho
  • mecho
  • 2012-03-22 14:51
  • 645

JavaMail学习笔记(四)、使用POP3协议接收并解析电子邮件(全)

package org.yangxin.study.jm; import java.io.BufferedInputStream; import java.io.BufferedOutputStre...

MailBee.NET Objects发送电子邮件(SMTP)教程七:添加多个附件

MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这...

电子邮件的工作原理

第一章 电子邮件的工作原理 1. 互联网TCP/IP的基本结构 2. SMTP的基本结构 2.1 SMTP的模型 2.2 SMTP的基本命令 3. 电子邮件的工作原理 4. 电子...

管理电子邮件的五个简单但有效的小窍门

您是否为处理大量邮件、常常手忙脚乱而烦恼呢?您是否在思考如何高效处理邮件、合理安排时间呢?请您看看下面的小窍门。   现在人人经常收到大量邮件,花费大量时间在处理邮件上。如果你感到为此浪...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)