Подтвердить что ты не робот

Как получить шестнадцатеричное значение из десятичного целого в Java?

Я не знаю, как сгенерировать шестнадцатеричный символ "0x83" из целочисленного значения в Java.

Мне нужно значение "0x83" для представления буквы на кириллице (это письмо: ѓ), чтобы отправить его (письмо) на мой принтер. При преобразовании 131 (0x83 в десятичном виде) в шестнадцатеричный с моим конвертером (ниже) я получаю три числа: 0x31, 0x33 и 0x31.

public String toHex(String arg) {
    return String.format("%x", new BigInteger(arg.getBytes()));
}

Мне нужно получить 0x83 из этого преобразования.

4b9b3361

Ответ 1

Если вы пытаетесь преобразовать целое число 131 в шестую строку, вы можете попробовать

Integer.toHexString( 131 )

Он вернет "83" в качестве строки.

Ответ 2

Вот пример:

String str = Integer.toHexString(131);
System.out.println(str);

Ответ 3

String cyrillic = Character.toString((char)0x83)

Ответ 4

Попробовали ли вы проверить Java Integer API. Вот несколько примеров :

Ответ 5

Я не вижу проблемы при преобразовании:

System.out.println(Integer.toHexString(131));

возвращает 83.

Ответ 6

Две возможности: для вашего принтера требуется 0x83 в виде байта или как строка /char

Отправить в виде байта:

int Cyrillic_int = 131; 
byte Cyrillic = (byte) Cyrillic_int;

Или отправьте строковое представление 0x83:

int Cyrillic_int = 131;
String Cyrillic = Integer.toHexString(131);