Unicode 简介

编码

计算机、手机等电子设备传输和存储文字时,并不直接记录使用外观字形,而是使用文字的身份证编号,这个身份证号就是文字的编码。 所有的文字编码方案都采用了整数形式,尽管没有任何明确的强制规定。

网络上传输任何一段文本,实际上只是文本的文字序列对应的身份证编号序列, 然后根据身份证号在另外的字体文件中寻找其对应的字形外观,由显示设备展现出来。

字符集

通常,一个组织会对它所需要使用和掌控的所有文字进行统一编码,这些编码后的文字的集合称为字符集。

ASCII是美国设计的英语和西欧语言的文字编码方案,GB2312是中国设计的汉字编码方案, Shift_JIS是日本的文字编码方案。

Unicode

在多语言情景中,不同的字符集需要转换成同一个字符集才能正常显示,非常复杂,很不方便, Unicode 应运而生,它对全球所有文字统一唯一编码,省去了转换过程。

为解决多语言电脑的字符集问题,1991年,三位软件工程师Joe Becker、Lee Collins,Mark Davis发起成立非营利机构Unicode联盟(Unicode Consortium), 旨在使用同一种方案统一编码世界上的所有文字。 Unicode 英文全称 The Unicode Standard, 中文译为统一码、万国码、统一字符码、统一字符编码等等。

其官网: https://home.unicode.org

现在,Unicode不仅编码通常意义的文字,还统一编码各种常用的科学符号,表情符号。

Unicode 平面

unicode 的取值范围 [0,0x10FFFF],共计 1114112个坑位,每一个坑位称为一个码点,当在一个坑位填充一个对应的文字,这个码点就是该文字的编码。

由于Unicode的坑位数量庞大,每个65536个坑位分为一组,称为一个平面(Plane),当前共17个平面,分别称为第0、1、2...16平面,注意平面的编号从0开始。平面是 一个抽象的逻辑概念,在数值上可以理解为等值于65536,第n平面就是第n个65536所在的域。

每一个平面内,每256个坑位分为一个块,就可以将平面可视化的表示成一个16*16的网格。 。

第0平面
第1平面
第2平面

目前Unicode已经分配到了第三平面,甲骨文、金文、小篆等规划于此,于是langoo 字体直接取用该平面324-32A区块摆放甲骨文。

第3平面

utf

utf 是针对 unicode 码值在电脑、手机设备中的存储方法。unicode 的存储方法utf可能会不断的升级变化, 但unicode码值不会轻易改变。

参考文献