用于创建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中获取特定编码的字符的十六进制呢?
最佳答案
您可以通过以下方式获取特定字符集(Windows-1253)编码的字节:
String text = "This is a text";
byte[] byteArray = text.getBytes("Windows-1253");
您可以循环遍历这个字节数组。它将为字符“ω”给出 -7,基本上是 249 (256-7)。
关于java - Java中通过编码将char转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54941840/