【发布时间】:2014-04-05 07:49:21
【问题描述】:
我正在开发一个应用程序以 int[] 的形式发送红外线代码。我有一串十六进制代码:“0000 0048 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 003 0030 0031 0030 0031 0090 0031 0090 0031 0090 0031 073b" 我需要将其转换为 int[] 在十进制形式的空格处拆分。
String hexCode = "0000 0048 0000 0018 00c1 00c0 0031 0090 0031 0090 0031 0030 0031 0090 0031 0090 0031 0090 0031 0090 0031 0090 0031 0030 0031 0030 0031 0030 0031 0030 0031 0030 0031 0090 0031 0030 0031 0030 0031 0030 0031 0030 0031 0030 0031 0090 0031 0090 0031 0090 0031 073b"
String decimalCode = hex2dec(hexCode); //I don't know how to convert this and keep the spaces
String[] decArray = decimalCode.split(" ");
int[] final = decArray; //Not sure how to do this. Maybe a for loop?
我已经为此工作了几个小时,感到很沮丧。我无法成功从十六进制转换为十进制字符串,然后我无法将其放入 int[]。
请帮忙!
【问题讨论】:
-
我不这么认为,因为我需要一个 int[] 而不是 byte[]
-
一个字节只是一个较短的整数版本。他们都持有一个数值。您应该能够很容易地将代码翻译成您的需要。 docs.oracle.com/javase/tutorial/java/nutsandbolts/…
-
您不需要
int[]。你需要一个short[]。 -
无论如何你都会使用
Integer.parseInt(yourHexSubstring, 16); -
感谢各位的帮助。我想我明白了!
标签: java arrays string hex decimal