ove*_*nge 2 java unicode encoding
在java中,
可以使用unicode转义序列表示Unicode字符以进行 UTF-16编码.下面是一个表示BMP平面字符的示例
char ch = '\u00A5'; // '¥'
Run Code Online (Sandbox Code Playgroud)
代理对可以用于非BMP平面字符吗?
char ch4 = '\uD800\uDC00'; //Invalid character constant
Run Code Online (Sandbox Code Playgroud)
如何使用java语法表示非BMP平面字符?
您不能使用单个char常量,因为char是UTF-16代码单元.您必须使用String常量,例如:
final String s = "\uXXXX\uYYYY";
Run Code Online (Sandbox Code Playgroud)
XXXX高代理人在哪里,YYYY是低代理人.
另一种解决方案是使用a int来存储代码点; 然后你可以用它Character.toChars()来获取char[]它:
final int codePoint = 0x1f4ae; // for instance
final char[] toChars = Charater.toChars(codePoint);
Run Code Online (Sandbox Code Playgroud)
根据您使用的内容,您还可以直接附加代码点(例如,StringBuilder有一个方法).
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |