Java字符串遍历码点
时间: 2024-12-12 19:19:42 浏览: 9
在Java中,字符串是由一系列Unicode字符组成的。如果你想遍历一个字符串并获取每个字符的码点(即其在Unicode编码表中的位置),可以使用`int value = codePointAt(int index)`方法。这个方法接受一个整数索引作为参数,返回指定位置的字符的码点。
下面是一个简单的例子:
```java
String str = "Hello, 世界!";
for (int i = 0; i < str.length(); i++) {
int codePoint = str.codePointAt(i);
if (codePoint != Character.UNASSIGNED) { // 如果不是一个组合字符的一部分
System.out.println("字符 " + (char) codePoint + " 的码点是:" + codePoint);
} else {
int nextCodePoint = str.codePointAt(i+1); // 组合字符可能跨越索引边界
System.out.println("组合字符从 " + (char) codePoint + " 到 " + (char) nextCodePoint + " 的码点是:" + (codePoint << 6) + "+" + (nextCodePoint & 0x3F));
}
}
```
在这个例子中,我们遍历整个字符串,对每一个非组合字符打印出它的码点,对于组合字符则会显示组成该字符的两个码点值(因为UTF-16编码中组合字符由连续的两个16位码点表示)。
阅读全文