如何将 UTF-16 代理十进制转换为 Java 中的 UNICODE
How to Convert UTF-16 Surrogate Decimal to UNICODE in Java
我有一些字符串数据,例如
� ;� ;
这些是十进制格式的 UTF 16 代理项对。
如何将它们转换为 Java 中的 Unicode 代码点,以便我的客户可以在没有代理项对的情况下理解 Unicode 十进制 html 实体?
示例:😊 ;
- 获取上述字符串的响应
假设您已经解析了字符串以获取 2 个数字,只需从这两个 char
值创建一个字符串:
String s = new String(new char[] { 55357, 56842 });
System.out.println(s);
输出
获取代码点:
s.codePointAt(0) // returns 128522
虽然您不必创建字符串:
Character.toCodePoint((char) 55357, (char) 56842) // returns 128522
我有一些字符串数据,例如
� ;� ;
这些是十进制格式的 UTF 16 代理项对。
如何将它们转换为 Java 中的 Unicode 代码点,以便我的客户可以在没有代理项对的情况下理解 Unicode 十进制 html 实体?
示例:😊 ;
- 获取上述字符串的响应
假设您已经解析了字符串以获取 2 个数字,只需从这两个 char
值创建一个字符串:
String s = new String(new char[] { 55357, 56842 });
System.out.println(s);
输出
获取代码点:
s.codePointAt(0) // returns 128522
虽然您不必创建字符串:
Character.toCodePoint((char) 55357, (char) 56842) // returns 128522