1.unicode,utf-8,utf-16,utf-32
(1)unicode是一种字符编码,规定了地球上任意一个字符的二进制表示,可以认为是一种4字节定长编码;
(2)utf-8,utf-16,utf-32都是基于unicode的变长码,将一个unicode定长4字节编码变为变长编码
(3)utf-8按照unicode代码点范围不同,每个字符可以用1-3个字节表示
(4)utf-16按照unicode代码点高位不同,分别用2,4字节表示
(5)utf-32按照unicode用四字节表示
2.按照core java所说的,java中的一个char代表一个utf-16编码单元(两个字节),一个字符在utf-16编码中可能用2-4个字节表示,代码点指一个unicode编码,代表一个字符,猜测java中字符串以utf-16编码。