这是因为默认的parse方法要求使用十进制格式的数字来解析十六进制数字,请使用以下parse:
Byte.parseByte(st[i], 16);
其中16是解析的基础。
至于您的评论,您是对的。字节的最大值为0x7F。因此,您可以将其解析为
int并执行二进制与操作
0xff以获得LSB,即您的字节:
bytes[i] = Integer.parseInt(st[i], 16) & 0xFF;

这是因为默认的parse方法要求使用十进制格式的数字来解析十六进制数字,请使用以下parse:
Byte.parseByte(st[i], 16);
其中16是解析的基础。
至于您的评论,您是对的。字节的最大值为0x7F。因此,您可以将其解析为
int并执行二进制与操作
0xff以获得LSB,即您的字节:
bytes[i] = Integer.parseInt(st[i], 16) & 0xFF;