String类length与codePointCount的区别

对于普通字符串,这两种方法得到的值是一样的,但对于UniCode编码来说,还是有一点区别。

区别:

length()方法返回的是使用的是UTF-16编码的字符代码单元数量,不一定是实际上我们认为的字符个数。

codePointCount()方法返回的是代码点个数,是实际上的字符个数。

例如:

String str = “/uD835/uDD6B”,那么机器会识别它是2个代码单元代理的1个代码点”Z“,故而,

length的结果是代码单元数量2,而codePointCount()的结果是代码点数量1.


转载:http://blog.csdn.net/u014166319/article/details/71308112

你可能感兴趣的:(java基础学习笔记)