通过用Java编码将char转换为十六进制

时间:2019-03-01 09:41:08

标签: java encoding hex

要创建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
}

这里的问题是我正在寻找一种通过编码转换char的方法。例如,这个希腊字符'ω'(小欧米茄),当我将其转换为字节时,它给我的是-55,而我想要的是Windows 1253的编码249。

那么,如何在Java中以特定编码获取字符的十六进制?

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式获取由特定字符集(Windows-1253)编码的字节:

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

您可以循环遍历此字节数组。它将为字符“ω”给出-7,基本上为249(256-7)。