Преобразование символа в шестнадцатеричный код путем кодирования в Java - PullRequest
0 голосов
/ 01 марта 2019

Для создания файла EBU-STL мне нужно преобразовать символы в шестнадцатеричные и затем привести их к байту.

Примерно так:

String text = "This is a text";
char [] chars = text.toCharArray();
for (int j = 0; j < chars.length; j++) {
    (byte) chars[j]; // here I would like to convert the char to byte
}

Проблема здесь в том, что я ищу способ преобразования символа с кодировкой.Например, этот греческий символ 'ω' (маленькая омега), когда я преобразую его в байт, дает мне -55, а я хочу 249, что является кодировкой Windows 1253.

Итак, как я могу получить шестнадцатеричный символ в конкретной кодировке в Java?

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете получить байты, закодированные определенной кодировкой (Windows-1253) следующим образом:

String text = "This is a text";
byte[] byteArray = text.getBytes("Windows-1253");

Вы можете просто зациклить этот байтовый массив.Это даст -7 для символа 'ω', который в основном 249 (256-7).

...