为了创建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中以特定的编码获得字符的十六进制?
您可以通过以下方式获取特定字符集(Windows-1253)编码的字节:
String text = "This is a text";
byte[] byteArray = text.getBytes("Windows-1253");
你可以循环遍历这个字节数组。它将为字符'ω'提供-7,基本上为249(256-7)。