我很难尝试将包含某些字节的十六进制表示的String转换为其对应的字节数组。
我使用以下代码获得32字节:
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mdbytes.length; i++) {
sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
知道如何从String到数组吗?换句话说,如何反转上面的代码。
感谢。
答案 0 :(得分:4)
我会尝试使用commons-codec byte[] originalBytes = Hex.decodeHex(string.toCharArray())
。实际上我也会将它用于编码部分。
答案 1 :(得分:1)
您可以使用Integer.parseInt(String s, int radix)方法将十六进制表示转换回整数,然后可以将其转换为字节。用它来一次处理字符串两个字符。
答案 2 :(得分:-1)
使用
String.getBytes();
方法