2011-03-24 34 views
1

我很难尝试将包含某些字节的十六进制表示形式的字符串转换为其对应的字节数组。将某些字节的十六进制字符串表示形式转换为Java中的字节数组

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(); 

不知道如何从字符串数组得到:

我使用下面的代码获得32字节?换句话说,如何做到上面代码的相反。

谢谢。

回答

4

我想尝试公地编解码器byte[] originalBytes = Hex.decodeHex(string.toCharArray())。实际上,我也将它用于编码部分。

-1

使用

String.getBytes(); 

方法

+0

我认为是。 – Bozho 2011-03-24 21:42:14

+0

这将给字符串的已经字节表示的字节数组转换,这将与原始的预期的十六进制非常不同。 – iankits 2015-07-17 08:16:46

1

您可以使用Integer.parseInt(String s, int radix)方法将十六进制表示法转换回整数,然后您可以将其转换为一个字节。使用它一次处理字符串两个字符。

相关问题