如何在 java 中的字节数组的十六进制字符串前面 prepend/add 一个“03”?
How to prepend/add a "03" infront of hexString of a byte array in java?
假设我有一个字节数组
byte [] initial = ......;
对应的十六进制字符串为0x6b6164756d,即;
System.out.println(Numeric.toHexString(initial)); //--> 0x6b6164756d
如何在“initial”前面加上“03”,这样当我
System.out.println(Numeric.toHexString(initial)); //--> 0x036b6164756d
它给了我 0x036b6164756d
我看到两个选项:
在前面插入一个值为3的byte
。
byte[] copy = new byte[initial.length + 1];
copy[0] = 0x03;
System.arraycopy(initial, 0, copy, 1, initial.length);
System.out.println(Numeric.toHexString(copy));
修改字符串。
System.out.println(Numeric.toHexString(initial).replace("x", "x03"));
假设我有一个字节数组
byte [] initial = ......;
对应的十六进制字符串为0x6b6164756d,即;
System.out.println(Numeric.toHexString(initial)); //--> 0x6b6164756d
如何在“initial”前面加上“03”,这样当我
System.out.println(Numeric.toHexString(initial)); //--> 0x036b6164756d
它给了我 0x036b6164756d
我看到两个选项:
在前面插入一个值为3的
byte
。byte[] copy = new byte[initial.length + 1]; copy[0] = 0x03; System.arraycopy(initial, 0, copy, 1, initial.length); System.out.println(Numeric.toHexString(copy));
修改字符串。
System.out.println(Numeric.toHexString(initial).replace("x", "x03"));