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

问题描述 投票:0回答:1

为了创建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而我想要249这是Windows 1253的编码。

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

java encoding hex
1个回答
1
投票

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

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

你可以循环遍历这个字节数组。它将为字符'ω'提供-7,基本上为249(256-7)。

© www.soinside.com 2019 - 2024. All rights reserved.