java - 如何自动转换十六进制代码以将其用作 Java 中的 byte[]?

标签 java hex arrays converters

我这里有很多十六进制代码,我想将它们放入 Java 而无需将 0x 附加到每个实体。喜欢:

0102FFAB,我必须执行以下操作:

byte[] test = {0x01, 0x02, 0xFF, 0xAB};

我有很多很长的十六进制代码。有什么方法可以自动完成吗?

最佳答案

您可以尝试将十六进制代码放入一个字符串中,然后遍历该字符串,类似于:

String input = "0102FFAB";
byte[] bytes = new byte[input.length() / 2];

for( int i = 0; i < input.length(); i+=2)
{
  bytes[i/2] = Integer.decode( "0x" + input.substring( i, i + 2 )  ).byteValue();
}

请注意,这需要偶数长度的字符串,这是一个非常快速且肮脏的解决方案。但是,它仍然可以帮助您入门。

关于java - 如何自动转换十六进制代码以将其用作 Java 中的 byte[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616233/

相关文章:

java - 抑制 RCP 的开放关联透视向导

java - 循环遍历数组

c# - 使用 Newtonsoft.Json 反序列化 Json 数组

python - 如何在每次出现时保留 numpy 数组的最新元素

java - 微调器无需等待查看器的选择即可加载 Intent

java - 安卓系统覆盖 4.2.2

java - Java 中 KML 颜色的十六进制到 BGR 十六进制转换

c - 如何将十六进制字符串解释为C中的字符串

c - 如何在 C 中更改进程的十六进制转储

php - 带有 php 的数组用于 Json 输出