十六进制字符串到int数组转换

时间:2012-02-29 12:44:00

标签: java string hex

我遇到了如何将十六进制字符串转换为无符号字节数组或整数数组的问题。

请看这个例子。

String s= "1f5621ff8963545a12152250"; //this is my hex string

我想将此字符串转换为int数组

int buff[]={0x1f,0x56,0x21,0xff,0x89,0x63,0x54,0x5a,0x12,0x15,0x22,0x50};

我怎么能这样做......

感谢您的帮助..

2 个答案:

答案 0 :(得分:4)

一种简单的方法:通过将int的长度除以2来计算String数组的长度。循环遍历字符串,调用substring()以创建双字符字符串“1f”,“56”等。将每个字符串传递给Integer.parseInt(string, 16)(第二个参数表示参数是十六进制字符串。)在计算结果时将结果存储在数组中。

答案 1 :(得分:0)

遍历字符串,字符串的每两个元素都会创建如下的整数:

0Xmm,其中mm是您刚刚扫描的两个元素。

然后你增加数组的索引并继续遍历字符串并添加到数组的当前“顶部”位置。