1、中华人民共和国国家标准信息技术因特网中文规范电子邮件传送格式发布 实施国家质量技术监督局 发布前言本标准规定了以 为基础在因特网电子邮件中传输中文字符和其他文种字符的消息格式本标准文本主要包括定义通用电子邮件传输格式 电子邮件传输格式和附录几个部分由于目前因特网电子邮件只有 规范没有相应的国际标准和国家标准 因此在本文本中等同参考了与通用电子邮件传输格式相关的内容 附录中收录了与 相关的变体格式以及编码方式 的内容 同时给出了基于 中文传输的实现参考模型本标准由中华人民共和国信息产业部提出本标准由全国信息技术标准化技术委员会归口本标准起草单位 中国电子技术标准化研究所北京四通新世纪信息技术有限
2、公司信息产业部数据通信技术研究所中国科学院软件研究所清华大学本标准主要起草人李韵琴胡万进陈淑仪 吴健冯吉祥 陶文星陈壮中华人民共和国国家标准信息技术因特网中文规范电子邮件传送格式国家质量技术监督局 批准 实施范围本标准规定了在因特网电子邮件中使用的中文字符信息和其他文种字符的信息传送格式 本标准适用于因特网电子邮件系统以及相关的应用领域引用标准下列标准所包含的条文 通过在本标准中引用而构成为本标准的条文 本标准出版时所示版本均为有效 所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性信息技术信息交换用七位编码字符集信息交换用汉字编码字符集 基本集信息技术通用多八位编码字符集第
3、一部分体系结构与基本多文种平面信息处理八位单字节编码图形字符集第一部分拉丁字母一因特网文本消息格式标准简单邮件传送协议多用途因特网邮件扩展 第 部分多用途因特网邮件扩展 第 部分多用途因特网邮件扩展 第 部分多用途因特网邮件扩展 第 部分多用途因特网邮件扩展 第 部分在多用途因特网邮件扩展中使用定义本标准采用下列定义纯文本由字符换行控制符和换页控制符等组成的文本它不提供也不允许格式化命令 字体属性指示 处理指令解释指令或内容编排等控制功能消息由信封和内容组成的能够在网络上传送的一个信息单位 信封包含提供传送和投递的必要信息内容由要投递给接收方的对象组成 所涉及的部分只包括消息内容的格式和某些语
4、义以及信封的非技术规范信息 消息由消息头字段 信封 和正文内容 可选组成 正文与消息头之间通过一个空行分开字段在没有特指的情况下 字段是指消息中的有逻辑字符串区域 一个字段可以分为多个子字段 每个子字段也可以是一个有逻辑字符串消息头在没有特指的时候消息头是指电子邮件消息的信封部分 每一个消息头字段可以看成是一个单个的有逻辑的字符行包括字段名和字段内容 为了方便字段内容部分可以分成多行表示称为 折叠消息头中主要有完成传送 投递和扩展的字符类型以及编码等信息正文在没有特指的时候正文指消息的内容部分 正文是要投递给对方的对象包括文本图像音频视频和应用程序等字符集在 里所用的字符集是指一种将八位二进制
5、字节串转换为可识别的字符串的方法 注意 这里并不需要在其他方面进行绝对明确的转换即不是所有的字符都可以通过给定的字符集进行表述以及一个字符集可能会提供不止一种将一个八位二进制字节串表示成一个特定字符串的方法 它不仅包括将单个字符直接映射成单个八位二进制字节的规则 如 和 而且在里还包括多字节编码字符集和交换技术等多用途因特网电子邮件扩展即多用途因特网电子邮件扩展 是对 以及 和 所定义的因特网文本消息格式标准进行的扩展 它对消息格式进行了重新定义 允许 用字符集而不只是 来表示的文本形式的消息内容 有很多不同格式的可扩展的非文本形式的消息内容 多组分消息内容 用字符集而不只是 来表示的文本形式
6、的消息头信息 与 有关的是 和是电子邮件 消息头的 字段里用来指定 数据类型的关键参数 它给出了消息中所使用的字符集名称中文字符在 中收录并编码的所有汉字汉语符号 少数民族文字及符号总要求电子邮件格式因特网文本消息格式标准因特网文本消息格式标准 等同简单邮件传送协议 等同多用途因特网邮件扩展格式本部分引用 中与非 代码及其传送有关的内容 其他部分等同参考和只定义了因特网上 代码邮件消息的标准传送格式 传送非 代码文本其中包括中文 或其他多媒体数据 应采用多用途因特网邮件扩展 对 进行扩充所定义的标准格式 这些消息头字段标准格式的正式定义如下本定义中所隐含的消息头字段顺序应忽略任何不以 开头的字
7、段都可能因没有意义而忽略 本定义中所隐含的消息头字段顺序应忽略其各种特定的 消息头字段语法如下消息头字段用来声明因特网消息正文格式所采用的版本并且任何按 文档编排的消息都必须包括如下消息头字段字段的正式 定义如下消息头字段用来指明在含有 项的正文中数据的性质 给出媒体类型和子类型标识符 以及提供某些媒体类型所需要的辅助信息以便正在接收的用户代理程序能选择一个合适的代理或机制去向用户表示这些数据 或者用一个合适的方式处理这些数据 消息头字段的值称为媒体类型 分为顶层媒体类型声明数据的通用类型 子类型指明与通用类型对应的具体格式 和参数 媒体子类型的修饰部分 其定义如下媒体类型和子类型的匹配与大小
8、写无关由标准途径 定义的并在 注册的扩充标记字符 或 后接任何中间没有空格的标记公开定义的扩充标记 该标记必须按 指定在 注册属性的匹配与大小写无关任何除 和 的 字符在参数值里使用时必须以引用串的形式出现这里类型子类型和参数名均与大小写无关 参数值通常与大小写相关 但有时也有意使用与大小写无关的形式 参数的排列顺序不分先后参数依赖于媒体类型和子类型 是一个可选项 大多数参数都与一个具体的子类型相关实现程序可以忽略任何无法识别名称的参数初始的五种表示单一媒体组分的标准顶层媒体类型为文本信息子类型 用来特指不包含任何格式化命令和指令的纯文本图像数据 需要用一种显示设备去查看其信息 定义的初始子类
9、型有 和等音频数据 需要用一种音频输出设备去 显示其内容视频数据 是移动的图像需要通过专用的硬件和软件去播放 初始的子类型是有 等应用类数据 典型情况是非中断性二进制数据和能被某个应用程序处理的信息 子类型 用于非中断性二进制数据的情况 子类型用于传送材料初始的两种表示多种组合媒体的标准顶层媒体类型为由多种无关数据类型组成的数据已封装过的消息在使用 媒体类型发送纯文本信息时 使用 参数可以指明 子类型正文文本的字符集尤其是在包括有表示通用纯文本的子类型 的时候有关 参数的说明如下参数是 字段里用来指定 数据类型的关键参数给出消息中使用的字符集名称 其形式可有如下两种参数的值与大小写无关 参数不
10、出现时的默认字符集是任何将来出现的 子类型标准规范都必须指出是否同样使用 参数以及可能要限定的参数 附加的字符集可以通过 登记注册消息头字段在简单邮件传送协议里限制邮件消息为 位的 代码数据每个文本行的长度 包括不超过 个字符 因此 有必要定义一种将各种媒体数据编码成这种 位短行格式的机制这种编码机制在 里由 消息头字段来指明字段提供两条信息 指明正文采用了何种编码转换方式以及对应地必须采用何种解码操作才能恢复数据成原样指出编码结果的范围是什么 消息头字段的取值为一个指定编码类型的单个标记 其正式语法格式和编码类型如下这些值都与大小写无关 编码类型 要求正文采用 位的文本邮件表示方式 如果消息
11、头字段没有出现 那么其默认取值是假定如果有必要 实现机制可以定义私有的 值但是必须使用来指明是非标准状态例如在 消息字段的赋值中 有一种是 这种编码方法可是用一种编码形式不一定要可读 来表示任意字节串 详细内容见提示的附录字符集传送格式本标准规定以 作为因特网电子邮件中中文字符信息的传送格式根据 对因特网电子邮件中有关文本传送格式的扩充定义 本节定义 作为因特网电子邮件中新的基本字符集 用于传送多八位编码的字符所涉及内容主要包括 字符集编码格式和 字段名称两部分目前 只定义了 平面中的字符 随着 新版本的颁布本标准也将作相应的修订和增补字符集编码格式定义 作为因特网 允许的基本字符集之一 即在
12、电子邮件消息中使用目前为 作为 字段的赋值之一在因特网 消息头中 按如下两种形式声明电子邮件文本的字符集为或这里只给出了在电子邮件中传送 字符代码的特定头信息段 其中 是标识 字符集的 名称其具体内容在 和 中说明 是传送字符代码的具体编码类型可以采用 或其他编码方式 有关 编码的内容参阅本标准提示的附录赋值规则所有为 注册使用的 变体和版本均使用符合以下统一形式的 名称其中 是字符集标准标识号 即国际标准 是字符集标准的版本号 对 而言其构成形式为 是的发行号 目前只有 表示 是的编码形式目前已经颁布的有 和 两种形式 表示字符集标准的变体形式 目前有 和 两种 当然也可以不采用变体 而直接
13、使用标准的原始编码 方括号内的参数都是可选的赋值列表根据 中的定义 下面列出了 的 参数名称本标准的 参数的赋值列表 将随着信息技术发展逐步增补附录提示的附录与由于 标准编码空间十分庞大 传统的内码体系几乎无法表示整个字符集 而且目前绝大多数的软件 硬件体系和输入输出设备以及因特网的邮件几乎完全基于 因此在实现时就必须考虑兼容性 继承性问题 采用编码的变体是解决这一问题的途径之一本附录列出了 编码在具体应用实现中的两种变体形式 和 的编码规则与的映射关系及应用情况是主要针对目前基于 的因特网电子邮件系统只能支持 位码传送的现状而提出的一个 编码的变体形式 采用带换档字符的一个或多个 位字节串表
14、示 字符串 以便在只支持 位传送的邮件系统中传送 字符将 字符集分为三个子集 集 集和 集集是可直接编码的字符集包括 字母 数字 和以下特殊字符 和 被忽略见表表 集字符字符 和 值 十进制集是可选直接编码的字符集包括下列字符 和 被忽略 见表表 集字符字符 和 值 十进制表 完字符 和 值 十进制字符集中的 和 不包括在内因为这两个字符在应用中有不同的含义集是需要按 编码规则编码的字符集 参见附录用 编码字符串表示 字符的转换规则如下规则 直接编码 在上面定义的 集中的 字符按照 直接编码 集中的字符可以选择性的直接编码同样地 它们中的许多字符禁止在头域中出现或者不能正确地通过某些邮件网关规
15、则 转换编码 任何 字符序列都可以使用 集中的一列字符编码和一个前导变换字符值为 字符 后的八进制数被解释为 基字符直到出现一个非基字符 包括控制字符如回车和换行 因此一个 字符变换序列通常在一行的行尾结束 作为一个例外如果一个序更以字符 值为 结束 则这个字符被忽略其他结尾字符不能忽略正常处理 作为一个特例 作为 的编码规则 制表符 回车 和换行 字符可以用它们的 直接表示 注意内容转换编码按规则使用这些字符 这些用法不遵守 的限制利用这三个规则一个 字符变为 行平均 个 位的 码字符串 例如 字符串你好 其 编码为 转换为 串为是由 联合 工作组提出的一种与 系统兼容的文件系统安全的 转换
16、格式并在 附录 中推荐采用 个八位字节来表示 中的一个字符 第一个八位字节从左到右有几个 就表示这个字符占几个八位字节第二个八位字节及以后的八位字节 每一个以 打头 作为一个八位字节的标识 以 区分标识和后面的 有效位 所有的 有效位 串接起来表示一个字符真正有意义的位 表示原 字符的 格式为一个八位字节 以 为先导 表 是 编码方案表 编码方案有效位最小值 最大值 二进制的位序列其中的 位连接起来就组成了 码 若只表示 即 则只需三个八位字节的特点是兼容现有的基于 字符的软 硬件平台 以及 码的转换算法是目前使用比较广泛的一种 的变体形式对于 可以用两个 编码表示附录提示的附录字符内容传送编
17、码 是一种用不可读的编码表示任意 位序列的编码形式其编码和解码算法十分简单的编码算法是将 位一组的输入位串转换成 个输出的编码字符 编码过程从左到右位输入串被分解为 个 位的位组每个位组的值为 然后 从表 中取出相应的编码字符放入输出串中编码输出流所表示的行不超过 个字符 所有断行或出现在表 以外的字符都将被编码软件忽略 在解码时 表 以外的字符行中断以及其空白都表示传送出错 并给出警告或出错消息表 字符值 编码 值 编码 值 编码 值 编码有关 的详细内容参见附录提示的附录有关 的 赋值列表考虑到等同于 的工业标准 目前有一定的用户 以及 已经发布的版本特列出如下有关 的 参数名称的别名附录
18、提示的附录实现参考模型总体结构本标准所给出的实现参考模型其总体结构如下图所示 其中虚线框内的部分为本标准所规定的因特网电子邮件中文消息传送格式在电子邮件发送过程中对于在 扩展平台上使用的本地字符集的纯文本信息通过映射转换的方法转换为 字符集的纯文本信息 对于在平台上直接使用 字符集的纯文本信息 对于字符集的纯文本信息 通过可选的变体转换 如 等 最后对其进行编码 在电子邮件的相应部分中对所使用的字符集 变体形式和编码类型进行标记然后向因特网电子邮件系统发送电子邮件在电子邮件接收过程中 对于从因特网电子邮件系统接收到的电子邮件 首先按照标记的编码类型对于其中的纯文本信息进行解码如果字符集字段有变
19、体转换 进行相应的转换 将其转换为字符集的纯文本信息 对于 扩展平台 通过映射转换将其转换为本地字符集以便进行处理关键代码段本标准所给出的实现参考模型的关键代码段采用 伪代码形式 使用 通信接口分为发送和接收两部分其中的斜体部分需要按照实际情况作必要的修改发送部分电子邮件开始这里是电子邮件的纯文本信息部分电子邮件结束初始化电子邮件 的相关信息按照字符集变体形式 编码类型等对电子邮件的纯文本部分进行相应的变换和编码初始化建立连接发送电子邮件发送函数接收信息如果接收到的信息为出错信息发送失败 退出循环关闭接收部分初始化建立连接接收电子邮件发送函数接收信息如果接收到的信息为出错信息接收失败退出循环关闭对于接收到的电子邮件的纯文本部分 按照电子邮件中所标记的字符集 变体形式和编码类型等对其进行相应的解码和变换
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1