Bootstrap

java中的代码点和代码单元

代码点: 代码点与字符应,代码点标示对应字符在对应字符集的数值;

代码单元: 大多数常用的Unicode字符使用一个代码单元就可以表示, UTF-16 中的一些增补字符需要两个代码单元标示。            

背景 
在设计Java时决定采用16位的Unicode字符集,因为当时只用不到65536一半的大小就可以存放下Unicode1.0版本的字符集。但是十分遗憾,一段时间之后Unicode字符数量超过了65536个,显然16位的char类型已经不能满足描述所有的Unicode字符的需要了。因此出现了代码点。

 
代码点 
指与一个编码表中的某个字符对应的代码值。在Unicode标准中,代码点采用十六进制表示,加上前缀U+,例如A的代码点为U+0041。代码点分为17个级别。 
U+0000到U+FFFF 为第一个级别称为基本的多语言级别,包括经典的Unicode字符。 
U+10000到U+10FFFF 为16个附加级别,包括一些辅助字符。 


代码单元 
UTF-16编码采用不同长度的编码表示所有的Unicode代码点。第一级别的代码点,每个字符用16位表示,通常称为代码单元;剩下16个附加级别的代码点采用一对连续的代码单元进行编码。 

;