Java中 代码单元、代码点
时间: 2024-05-12 21:20:09 浏览: 79
在Java中,代码单元(code unit)指的是编码中的基本单位,对于UTF-16编码的Java字符,一个代码单元等于两个字节。而代码点(code point)则是Unicode编码中的基本单位,每个代码点都有唯一的编号。对于UTF-16编码的Java字符,一个代码点可以由一个或两个代码单元组成。
例如,字符'A'的代码点是65,在UTF-16编码中,它可以由一个代码单元表示,即'\u0041'。而字符'😀'的代码点是128512,在UTF-16编码中,它由两个代码单元表示,即'\uD83D\uDE00'。
在Java中,可以使用Character类的静态方法来获取字符的代码单元或代码点,例如:
```java
char c = 'A';
int codeUnit = Character.codePointAt(new char[] {c}, 0); // codeUnit = 65
int codePoint = c; // codePoint = 65
String s = "😀";
int[] codeUnits = s.codePoints().toArray(); // codeUnits = [128512]
int[] codePoints = {codeUnits[0]}; // codePoints = [128512]
```
阅读全文