我这里有很多十六进制代码,我想将它们放入 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/