Как я могу добавить '\ u' к числу и сохранить результат в переменной типа char? - PullRequest
0 голосов
/ 05 ноября 2018

Итак, у меня есть куча чисел, которые представляют коды Unicode, например, например:

int a = 6543

Я хочу добавить '\ u' в начале, но затем сохранить результат в переменной типа char следующим образом (поэтому после получения результата этого \ u + 6543 я хочу сохранить его в переменной типа char):

char b = '\u6543';

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

В «С» мы бы сказали: sprintf('\\u%d', i);

Здесь вы запрашиваете буквальную строку \u, за которой следует строковое представление определенной целочисленной переменной в виде числа.

Итак, теперь иди и сделай то же самое в "Говоря на Java".

0 голосов
/ 05 ноября 2018

Символ '\u6543' имеет числовое значение 0x6543 (т.е. 6543 в шестнадцатеричной основе).

Поэтому, чтобы присвоить числовое значение символу, вы должны написать:

char a = 0x6543;

Если вам необходимо преобразовать int значение 6543 в соответствующее char, имеющее значение 0x6543, вы можете преобразовать в String и затем проанализировать String как шестнадцатеричное число:

int a = 6543;
char b = (char)Integer.parseInt(Integer.toString(a),16);

Вы увидите, что:

System.out.println (b=='\u6543');

отпечатков true.

Конечно, вы можете выполнять это преобразование только для значений Unicode, которые не содержат цифр от a до f, поскольку вы не можете, например, сохранить значение 00a7 в int переменная (если вы не добавите префикс 0x, но тогда вам не нужно преобразование).

...