Как преобразовать десятичную дробь UTF-16 в UNICODE в Java - PullRequest
1 голос
/ 12 марта 2020

У меня есть некоторые строковые данные, такие как

�; �;

Это суррогатные пары в UTF 16 в десятичном формате.

Как я могу преобразовать их в кодовые точки Unicode в Java, чтобы мой клиент мог понять сущность Unicode десятичного html без суррогатной пары?

Пример: &#128522 ; - Получите этот ответ для вышеуказанной строки

1 Ответ

1 голос
/ 12 марта 2020

Если вы уже проанализировали строку, чтобы получить 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
...