HUWWW
要理解char类型,您首先必须了解Unicode编码模式。Unicode的发明克服了传统的字符编码方案的局限性。在Unicode出现之前,有许多不同的标准:美国的ASCII编码,ISO8859-1 为西方欧洲语言编码,KOI-8 为俄罗斯编码方式,GB18030 BIG-5 是中国语言的编码方式,等等。这将导致两个问题:一个特定的代码值对应于不同的字母的各种编码方案。此外,与大字符集编码语言长度相比,一些常见的字符编码为一个字节,其他人需要两个或两个以上的字节。 utf-16 编码是在一个可变长度的编码方式,它代表了所有Unicode代码点的方法。人物的基本语言平面表示为16位值,这被称为代码单元。这些代码单元还需要不断的补充新的字符编码。在这一系列的编码中,任何一个值都存在与一个未使用过的2048字节的范围内的基本语言平面,这被称为代理区域。这是相当睿智的,因为你可以马上分辨出一个代码单元编码了一个字符,或者是否为第一或第二部分补充字符。例如,数学符号的整数集合的代码点为 U+1d56b ,和由两个代码编码单元 U+D835 和 U+DD6B 组成的。在Java中,char类型也仅仅是描述 utf-16 编码的代码单元。