Как преобразовать строковое представление в шестнадцатеричном формате Unicode "0x20000" в точку кода int 0x20000 в Java

У меня есть список строковых представлений шестнадцатеричных значений Unicode, таких как "0x20000" () и "0x00F8" (ø), которые мне нужны, чтобы получить точку кода int, чтобы я мог использовать такие функции, как: char[] chars = Character.toChars(0x20000);

Это должно охватывать BMP, а также дополнительные символы. Я не могу найти способ сделать это, поэтому был бы рад некоторой помощи.

1 ответ

Решение

Вы можете создать свой собственный NumberFormat реализация, но проще, чем вы можете сделать что-то вроде этого:

String hexString = "0x20000";
int hexInt = Integer.parseInt(hexString.substring(2), 16);
String stringRepresentation = new String(Character.toChars(hexInt));
System.out.println(stringRepresentation);   //prints ""
Другие вопросы по тегам