一张图读懂
UTF-8 使用一至四个字节的序列对编码 Unicode 代码点进行编码
UTF-16 使用两个或四个字节对 Unicode 代码点进行编码
UTF-32 始终使用4个字节
java中使用:
length方法将返回采用UTF-16编码表示的给定字符串所需要的代码单元数量。例如:
Stringgreeting = "Hello";
int n = greeting.length();// is 5
要想得到实际的长度,即代码点数量,可以调用:
int cpCount =greeting.codePointCount(0, greeting.length());
调用s.charAt(n)将返回位置n的代码单元,n介于0~s.length()-1之间。字符串中的第一个代码单元位置为0 例如:
char first =greeting.charAt(0); // first is 'H'
char last =greeting.charAt(4); // last is 'o'
要想得到第i个代码点,应该使用下列语句()
int index =greeting.offsetByCodePoints(0, i);
int cp =greeting.codePointAt(index);