java 本身的char,是16位的unicode;
原则上一个汉字对应的unicode 值小于 FFFF,就能用汉字表示;
理解unicode:
unicode,可以理解成一个字典,美国人把当时世界上全部的字,都用对应的 unicode 值表示出来;比如 汉字 ‘中’ 对应的unicode值是 0x4e2d;则 0x4e2d 与 ‘中’ 在 unicode 字典中,是一一对应的关系;
获取一个字符的unicode
char c = '中';
String cUnicode = Integer.toHexString(c);
** 总结 **
char 只有2个字节,最多只能表达codepoint 在 FFFF范围内的汉字;所以增补字符是无法用一个char表示的。
编码格式
引用链接.