【问题标题】:Convert char to hexadecimal by encoding in Java通过在 Java 中编码将 char 转换为十六进制
【发布时间】:2019-07-23 07:43:12
【问题描述】:

为了创建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中获取特定编码的字符的十六进制呢?

【问题讨论】:

    标签: java encoding hex


    【解决方案1】:

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

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

    你可以只循环这个字节数组。它将为字符“ω”给出 -7,基本上是 249 (256-7)。

    【讨论】:

      猜你喜欢
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 2014-03-10
      • 1970-01-01
      • 2017-10-06
      • 2011-11-27
      • 2011-05-25
      相关资源
      最近更新 更多