任何人都可以解释如何使用套接字编程从设备读取数据。设备正在发送Hexa格式,因此无法读取该数据,请帮助我如何做到这一点。
StringBuffer instr = null;
instr = new StringBuffer();
buf = new byte[4096];
int br = socket.getInputStream().read(buf);
for(int i =0;i<br;i++){
instr.append((char) buf[i]);
}
data = instr.toString();
使用上面的代码,请帮助我。
答案 0 :(得分:0)
您可以尝试使用此代码段
public String convertHexToString(String hex){
StringBuilder sb = new StringBuilder();
StringBuilder temp = new StringBuilder();
//49204c6f7665204a617661 split into two characters 49, 20, 4c...
for( int i=0; i<hex.length()-1; i+=2 ){
//grab the hex in pairs
String output = hex.substring(i, (i + 2));
//convert hex to decimal
int decimal = Integer.parseInt(output, 16);
//convert the decimal to character
sb.append((char)decimal);
temp.append(decimal);
}
System.out.println("Decimal : " + temp.toString());
return sb.toString();
}