java - 将 Ascii 值直接转换为 Hex 值

标签 java hex

我有一个由十六进制字母表组成的文字字符串,例如 00bff040dadd1fde55,我希望将该字符串转换为以字节为单位的十六进制“等效”,即转换为字节数组,例如 {0x00 0xBF 0xF0 0x40 0xDA 0xDD 0x1F 0xDE 0x55}

是否有可以进行这种转换的 Java 类?如果没有,有没有人有我可以实现的算法来进行上述转换?

最佳答案

Is there a Java class that can do this conversion?

标准库中没有类可以将包含十六进制字符的字符串转换为字节数组......就像那样1

If not, does anyone have an algorithm I can implement to do the above conversion?

  1. 将字符串的长度除以 2,并分配该大小的字节数组。
  2. 重复直到字符串为空:

    1. 删除包含前两个字符的子字符串。
    2. 使用 Integer.parseInt(twoChars, 16) 转换为整数。
    3. 将整数转换为字节并添加到字节数组。

该算法可以轻松转换为 Java 代码。


1 - 如果您确实想要将字节“文字”序列表示为字符串,请查看@aetheria 的回答...

关于java - 将 Ascii 值直接转换为 Hex 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237819/

相关文章:

java - 提前创建变量以在循环中使用(?)

c++ - 是否有返回字符的 ASCII 值的函数? (C++)

java - Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

java - 创建与 SQL Server 的 JDBC 连接时权限被拒绝

Python3 以十六进制表示打印

android - Android 中的十六进制颜色有时是八位数字。如何? #FFFFFF 和 #FFFFFF00 有什么区别?

c# - 如何将十六进制转换为 0x... 字节格式 (C#)

c - 十六进制值作为字符串 C

java - 生日问题,平均人数

java - Akka DeathWatch - 查找终止原因