Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 十六进制字符串到整数数组的转换_Java_String_Hex - Fatal编程技术网

Java 十六进制字符串到整数数组的转换

Java 十六进制字符串到整数数组的转换,java,string,hex,Java,String,Hex,如何将十六进制字符串转换为无符号字节数组或整数数组一直困扰着我 请看这个例子 String s= "1f5621ff8963545a12152250"; //this is my hex string 我想把这个字符串转换成整数数组 int buff[]={0x1f,0x56,0x21,0xff,0x89,0x63,0x54,0x5a,0x12,0x15,0x22,0x50}; 我怎么能这么做 感谢您的帮助。遍历字符串,字符串的每两个元素创建一个整数,如下所示: 0Xmm,其中mm是刚刚扫描

如何将十六进制字符串转换为无符号字节数组或整数数组一直困扰着我

请看这个例子

String s= "1f5621ff8963545a12152250"; //this is my hex string
我想把这个字符串转换成整数数组

int buff[]={0x1f,0x56,0x21,0xff,0x89,0x63,0x54,0x5a,0x12,0x15,0x22,0x50};
我怎么能这么做


感谢您的帮助。

遍历字符串,字符串的每两个元素创建一个整数,如下所示:

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


然后增加数组的索引,不断迭代字符串并将其添加到数组的当前“顶部”位置。

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

您尝试了什么?在您的示例中,似乎可以每2个字符拆分
s
,并在前面添加
0x
。。。不在0x1F中只有一种方法可以在内部存储
int
;十进制或十六进制(或八进制或任何形式)数字的表示仅在输出时发生。如果要以十六进制打印
int
,则必须特别使用
NumberFormat
printf()
或简单地使用
Integer.toString(int,16)
以这种方式显示。