Java码点和代码单元的理解
书本中的相关概念
码点
定义
码点(code point)是指与一个编码表中的某个字符对应的代码值
代码单元
定义
在基本多语言平面中,每个字符用16位表示,通常称为代码单元(code unit)
说明
- 一个码点可能包含一个或者两个代码单元
- 在Unicode标准中,码点采用十六进制书写,并加上前缀U+(如U+0041就是拉丁字母A的码点)
- Unicode的码点可以分成17个代码平面(code plane)。第一个平面称为基本多语言平面(basic multilingual plane),包括码点从U+0000到U+FFFF的经典Unicode代码;其余的16个平面的码点为从U+10000daoU+10FFFF,包括辅助字符(supplementary character)
- UTF-16编码采用不同长度的编码表示Unicode码点
- 在基本多语言平面中,每个字符用16位表示,通常称为代码单元(code unit);而辅助字符编码为一对连续的代码单元。采用这种编码对表示的各个值落入基本多语言平面中为用的2048个值范围内,通常称为替代区域(surrogate area)