BMP

编号为#0Code Plane叫做BMPBasic Multilingual Plane,基本多语言平面)

BMPCode Point的范围为U+0000 ~ U+FFFF。总共65535个。 大部分常用的字符都被分配到该平面里的Code Point上了。

1.1、ASCII Code Point

ASCII字符集中的字符被分配在这里。ASCII字符集中共有128个字符, 占据了BMP的前128Code Point。 并且这128Code Point与ASCII编码完全一样。

1.2、ISO-8859-1 Code Point

ISO-8859-1字符集中的字符被分配在这里。ISO-8859-1字符集中共有256个字符, 占据了BMP的前256Code Point。 并且这256Code Point与ISO-8859-1编码完全一样。

1.3、CJK Unified Ideographs Code Point

分配了两万多个汉字,其中前20,902个汉字是按照《康熙字典》里笔画顺序排列的。

1.4、Surrogate Code Point

High-surrogate Code Point范围从从U+D800 ~ U+DBFF,共1024个。

Low-surrogate Code Point范围从U+DC00 ~ U+DFFF,共1024个。

2048Code Point并没有分配给有效的字符。它们是为UTF编码保留的。

一个High-surrogate Code Point和一个Low-surrogate Code Point组成一个Surrogate Pair, 可以在UTF-16里编码BMP之外的某个Code Point。 因为1024 * 1024 + 65,536 = 1,114,112,也就是说, 我们用BMP里的Code Point就可以表示完所有的Unicode字符。

1.5、ZWJ

ZWJ(ZERO WIDTH JOINER,零宽度连接符)

ZWJ是一个特殊的Code Point,它的值是U+200D, 它只是用来连接两个Code Point的,而这个Code Point不代表任何有效字符。