Java SE 5.0开始,解决Unicode字符超过65536个的问题,即一个char不足以表示所有的Unicode字符。

基本概念

码点(code point):指与一个编码表中的某个字符对应的代码值。码点与Unicode字符一一对应。
代码单元(code unit):基本多文种平面的每个字符用16个二进制位表示,通常被称为代码单元。

问题

如何表示辅助多文种平面的字符,或者说码点?
答:使用一对连续的代码单元进行编码。具体见字符集与编码方式

解决方法

在Java中,char类型描述了UTF-16编码中的一个代码单元。