电子邮件中的字符串
来源:互联网 发布:证券开户 知乎 编辑:程序博客网 时间:2024/05/20 00:17
电子邮件中的字符串
charset="gb2312"
Content-Transfer-Encoding: base64
sbG+qcrQuqO17cf4yee74bGjz9W7+b3wudzA7dbQ0MQNCg0KvPKzxqO6uqO17cnnsaPW0NDEDQoNCg==
Subject: =?GB2312?B?1tA=?=
Subject: =?GB2312?Q?=D6=D0?=
Subject: =?ISO-8859-1?Q?=D6=D0?=
当一段 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],即 "ÖÐ",而不是 "中"。
- 电子邮件中的字符串
- 电子邮件
- 电子邮件
- 电子邮件
- 电子邮件
- 电子邮件
- 电子邮件
- 从字符串中获得电子邮件数组
- lex判断是否字符串是否是电子邮件
- 英语中的商务电子邮件:5点实用技巧
- PGP 加密算法在安全电子邮件中的应用
- 利用C++Builder中的IdSMTP和IdMessage控件发送电子邮件
- EDM电子邮件营销在品牌推广中的作用
- Spire.Email 教程:如何删除C#,VB.NET中的电子邮件
- 取字符串中的字符串
- [字符串]字符串中的替换
- C#验证字符串是否是数字、传真、邮政编码、网址或者电子邮件
- 电子邮件浅析
- 设计师与妓女
- CComboBoxEx显示256色图片
- Button显示颜色
- 解决不能上Google的一些方法
- 错误类型自定义
- 电子邮件中的字符串
- asp事务处理
- 老子, 「道德经」
- 文件读写
- Linux-gate.so.1的含义?(What is linux-gate.so.1)
- 在这里安个家咯
- 动画调整
- 引子
- 简单的故事品味生活