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

标签 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
}

这里的问题是我正在寻找一种使用编码转换字符的方法。例如,这个希腊字符 'ω' (小欧米茄),当我将它转换为字节时,它给我-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/

相关文章:

Java TCP SO_RESUEADDR,无法连接

java - 远程客户端访问 JBOSS AS 中部署的 EJB 的 JNDI 循环(7.1.1 最终版)

vb.net - 如何将特殊字符插入 Advantage SQL 数据库?

PHP 十六进制和二进制

基于 8 个十六进制字节创建一个 unsigned int

java - 获取 HmacSHA1 Java 哈希以匹配 Powershell 哈希

python - 将值列表转换为编码变量?

javascript - Google 脚本 CSV 文件返回框和问号

Dart 从 base64 转换为 HEX

java - 如何让退格\b 在 Eclipse 的控制台中工作?