下面这个是转换的方法:
public static byte[] hexStringToByte(String hex) {
int len = (hex.length() / 2);
byte[] result = new byte[len];
char[] achar = hex.toCharArray();
for (int i = 0; i < len; i++) {
int pos = i * 2;
result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));
System.out.printf("0x%02X ", result[i]);
}
return result;
}
参数为97的时候,输出为0x97,这是想要的结果,没问题
参数为9d的时候,输出为0xFF,这不是想要的结果,想要的结果为0x9d。
想不出是什么问题,大家知道是什么问题么?