主题:
例如这是设备返回的hex制数据:41 30 30 30 30 30 36 36 34 41 35 33 30 31 30 33;
则:41 30表示一个16位数,分别对该数字进行转换,并且转换后为16进制的数,然后再转换为10进制,以下为代码
(41表示为A,30表示为0)
//由于个人业务需要,6只要求特定的数字,所以是从36、34开始处理的
String content=41 30 30 30 30 30 36 36 34 41 35 33 30 31 30 33;
String shuosuohex1=content.substring(a,a+2);//36
String shuosuohex2=content.substring(a+3,a+5);//34
String shuosuo16=hexToString(shuosuohex1)+hexToString(shuosuohex2);//hexToString方法在下方;
int shuosuo=Integer.valueOf(shuosuo16,16);//Integer.valueOf为java的api方法。
public static String hexToString(String hex) {
StringBuilder sb = new StringBuilder();
for (int count = 0; count < hex.length() - 1; count += 2) {
String output = hex.substring(count, (count + 2)); //grab the hex in pairs
int decimal = Integer.parseInt(output, 16); //convert hex to decimal
sb.append((char) decimal); //convert the decimal to character
}
return sb.toString();
}