要了解字符集标准,必须能区分三种不同的字符视图:
- 字符集(字符的抽象列表)。
- 作为带标量值的“代码点”的字符。
- 作为编码数据的字符。
字符集(字符的抽象列表)
字符集是各种文字(包括拉丁文、西里尔文、中文、朝鲜语、日语、希伯来语和阿拉伯语)中所包含的字符的抽象列表,由一百多万个字符组成。字符集还包括其他符号,例如音符。
Unicode 和 GB18030 标准都具有字符集。当某个标准添加了新字符时,为了保持对等,另一个标准也将添加这些字符。
作为带标量值的“代码点”的字符
注意 |
|---|
这第二个字符视图只适用于 Unicode,而不适用于 GB18030。 |
字符集中的每个字符都被分配到一个“代码点”。每个代码点都有一个特定的数值,称为标量值。该标量值通常用十六进制表示。
代码点存在于“代码空间”中。代码空间由许多标量值组成,这些值被划分在两个平面中:
基本多语种平面(64k 大小)。
在 Unicode 中,此下平面中的值的十六进制表示位于 U+0000 到 U+FFFF 的范围中。
辅助多语种平面(16 个 64k 大小的附加节)。
在 Unicode 中,此上平面中的值的十六进制表示位于 U+10000 到 U+10FFFF 的范围中。
所有可能的标量值的完整代码空间的大小为 17 * 64k(1,088,000 个可能值)。
作为编码数据的字符
每个编码形式将字符从字符集转换为编码数据。
在 GB18030 中,编码数据直接从字符集派生:标量值(作为字符集和编码数据之间的媒介)的概念只适用于 Unicode。
在 Unicode 中,通过向标量值应用某个算法来派生编码数据。
Unicode 定义了三种字符编码形式:
- UTF-8
- UTF-16
- UTF-32
注意