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十进制数。
本文解析了Java中char类型如何表示Unicode字符,并详细解释了代码单元和代码点的概念,通过实例展示了如何获取字符串中的代码单元数量及每个代码单元对应的代码点。


被折叠的 条评论
为什么被折叠?



