Unicode标准长什么样的?

40 阅读3分钟

Unicode Version 17 最近发布了,本文想对Unicode标准本身做一个简介。

标准本身是由四个部分组成的,分别是核心规范,码表,字符数据库和附则共同组成。

  1. 核心规范 Unicode Core Specification

该部分是整个规范的描述信息,基本可以当一本独立的书来看,包含24个章节,大概可以分为三个部分,前五章是一部分,后面的第六到二十三章是一本,二十四章是一部分。

第一章包含设计目的,讨论了文本处理的整个过程和概念。

第二章描述标准的整体结构,包含设计原则,码点和字符的概念,编码方式等等主题。

第三章阐述合规性,描述什么情况是符合或者不符合规范的。

第四章是对字符属性的描述,在字符数据库中包含每个字符的多种属性,这里是对这些属性的描述说明。

第五章包含具体实现的指南。

第六到二十三章是对区块的具体描述,包含区块的基本信息,特殊字符的讨论,特殊的排版需要等等,也就是把所有的区块归类为十七个左右的大类来讨论。

第二十四章是对码表的整体性描述。

网页版本:www.unicode.org/versions/Un… PDF版本:www.unicode.org/versions/Un…

  1. 码表 Unicode Code Charts

Unicode给编码的每一个字符都起了独立的名字,码表的内容就是码点-字符-字符名字的对应关系。

码表的目录是一个页面,按照分类列出了Unicode中的所有区块,分为两个大类,第一类是文字(Script),按照地理区域分类,第二类是符号(symbols)和标点符号(punctuation),其实相当于不是文字的区块都在这个类别里面,标点符号,数字,Emoji,私有区块都在这里,麻将,扑克区块也在这里。

每一个区块都对应一个PDF文件,每个文件包含该区块内每一个字符的表格和每一个字符的具体名字。

具体地址:www.unicode.org/charts/

  1. 字符数据库 The Unicode Character Database

这个数据库其实是一系列的txt文件,按照字符属性的不同分到不同的文件中,这些文件的内容都是格式化过的,可以通过程序来读取,所以这部分内容叫数据库。

如果需要实现Unicode,程序库需要读取这些文件,然后按照规范或者规范附则文件中描述的算法来实现具体的功能,实现过程中很多时候就是在数据库中查表获得字符的属性做判断。

具体地址:www.unicode.org/ucd/

  1. 附则 Unicode Standard Annexes

对于一些复杂的主题,放入核心规范太大了,就独立分到独立的文档中,这一系列的文档共同叫Unicode规范附则,这是规范的一部分,伴随Unicode的升级,这部分内容也同步升级。

具体地址:www.unicode.org/reports/ind…

  1. 技术标准和技术报告 Unicode Technical Standards and Unicode Technical Reports

这部分内容与附则相似,文档的编号也是与附则文档的编号交叉的,区别是这部分内容不在规范内,有些是同步升级的,有些不是,内容相对Unicode相关性较远。

具体地址:www.unicode.org/reports/