UTF-8,ISO 10646的一种转换格式

【UTF-8,ISO 10646的一种转换格式】本备忘录的状态
本文档讲述了一种Internet社区的Internet标准跟踪协议 , 它需要进一步进行讨论和建
议以得到改进 。请参考最新版的“Internet正式协议标准”(STD1)来获得本协议的标准化程
度和状态 。本备忘录的发布不受任何限制 。
版权声明
版权所属Internet社区(1998) , 保留全部权力 。
摘要
ISO/IEC10646-1定义了一种多8比特字节字符集 , 称作通用字符集(UCS) , 它包含了世
界上大多数可书写的字符系统 。然而 , 多8比特字节字符与许多当前的应用和协议不一致 ,
从而导致了一些被称为UCS转换格式(UTF)的发展 。每一种UTF有不同的特征 。本备忘录中
的UTF-8保留了全部US-ASCII范围字符 , 提供了对文件系统、依靠于US-ASCII值的分析器
和其他软件的兼容性 , 并且对其他字符值透明 。本备忘录用来更新和替换RFC2044 , 非凡对
相关标准的版本问题进行了说明 。
目录
1、介绍 2
2、UTF-8定义 3
3、标准版本 4
4、例子 4
5、MIME注册 4
6、安全考虑 5
鸣谢 5
参考 5
作者地址 6
版权说明 7
1、介绍
ISO/IEC10646-1[ISO-10646]定义了一种多8比特字节字符集 , 称作通用字符集(UCS) ,
它包含了世界上大多数可书写的字符系统 。已定义了两种多8比特字节编码 , 对每一个字符
采用四个8比特字节编码的称为UCS-4 , 对每一个字符采用两个8比特字节编码的称为
UCS-2 。它们仅能够对UCS的前64K字符进行编址 , 超出此范围的其它部分当前还没有分配
编址 。
值得注重的是统一的字符编码标准[UNICODE]定义了同样的字符集 , 而且它进一步定义
了对实现器非常重要的额外字符属性和其他应用细节 , 但是没有定义UCS-4编码 。直到现在 ,
Unicode的变化和ISO/IEC10646修正彼此穿插 , 因此他们的字符指令和编码分配保持同步 。
相关的标准委员会同意维持这种非常有用的同步 。
然而 , UCS-2和UCS-4编码很难在许多当前的应用和协议中使用 , 这些应用和协议假定
字符为一个8或7比特的字节 。即使新的可以处理16比特字符的系统 , 却不能处理UCS-4
数据 。这种情况导致一种称为UCS转换格式(UTF)的发展 , 它每一种有不同的特征 。
UTF-1仅仅是历史上的重要 , 它已经从ISO/IEC1064中删除 。UCS-7拥有仅采用8比特
字节就可对全部BMP指令进行编码的性质 , 它的最高比特位为零(其他7比特位为US-ASCII
值,[US-ASCII]) , 被认为是邮件安全的编码([RFC2152]) 。本备忘录中的UTF-8对象 , 使用了
8比特字节的所有位 , 保持全部US-ASCII取值范围的性质:US-ASCII字符用一个8比特字
节编码 , 采用通常的US-ASCII值 , 因此 , 在此值下的任何一个8比特位字节仅仅代表一个
US-ASCII字符 , 而不会为其他字符 。
UTF-16计划用于从保留的范围中 , 转换UCS-4指令的一个子集为UCS-2值对 。UTF-16
影响UTF-8 , 因为保留范围的UCS-2值必须当作UTF-8变换进行非凡处理 。
UTF-8采用变化的8比特字节数对UCS-2或UCS-4字符编码 。8比特字节数量 , 以及每
一字节的值依靠于ISO/IEC10646中对此字符指定的整型值 。这种转换格式有下列特性(所
有的值为16进制):
-从00000000到0000007F(US-ASCII指令)字符值对应于8比特字节的00到7F(7
比特US-ASCII值) 。由此的结论就是普通的ASCII字符串转换后仍然是有效的UTF-8
字符串 。
-US-ASCII值不会出现在其他的UTF-8编码字符流中 。这提供了与文件系统或其他软件

推荐阅读