[Java Core]Java字符串的代码点和代码单元

Java Core的3.6.6有关代码点和代码单元的概念可能让很多同学迷惑,在这里做一点说明。


Java char数据类型实际上采用UTF-16编码表示的Unicode的代码单元

</pre><pre name="code" class="java">String str = "你好!";

这里str中的第一个代码单元是“你”。通常来讲,基本字符用一个char表示,辅助字符使用一对char表示。

所以str实际上是3个代码单元组成。

System.out.println(ss.codePointCount(0, ss.length())); //3

而代码点就是这这个代码单元在UTF-16字符集中的编号,

System.out.println(ss.codePointAt(0));//20320

‘你’打印出来是20320, 也就是‘你’的Unicode十六进制编码\u4f60十进制数。



posted @ 2015-09-03 13:47  IronJJ  阅读(98)  评论(0编辑  收藏  举报