Java:如何在十六进制到二进制转换后确保大小为2的字节数组?

问题描述 投票:0回答:1

我在做什么

我有一个十六进制值字符串strHexVal,我正在使用hexBytes将其分配给字节数组DatatypeConverter.parseHexBinary(strHexVal)

我想要什么

字节数组hexBytes的大小应始终为2,即如果转换后hexBytes的大小为1,我想将数组插入0,如果转换后的大小大于2,则抛出错误

有人可以帮我吗?

代码:

String strHexVal= "15";
byte[] hexBytes = DatatypeConverter.parseHexBinary(strHexVal);

**Need help with this part:**
if ( hexBytes length is 1) {
   hexBytes[1] = hexBytes[0]
   hexBytes[0] = 0x00; //will this work???
}
else if (hexBytes.length > 2) {
   throw error
}
java binary hex
1个回答
0
投票
不,您不能只执行hexBytes[0] = 0x00;,因为Java数组一旦创建就具有固定的大小。

您必须创建一个新的byte[]

© www.soinside.com 2019 - 2024. All rights reserved.