[英]Convert a String of bytes into ASCII
我正在连接到蓝牙设备,该设备会回答一些发送给我的参数,但是作为响应,我从这样的套接字读取了信息:
String data = dIn.readLine();
dIn是:
DataInputStream dIn = new DataInputStream(socket.getInputStream());
事实是我收到了数据,但这是在字符串上读取的字节数组。 如何将包含字节数组的字符串转换为具有正确十六进制值的字符串?
先感谢您。
目前尚不清楚您是要实际解码以字节数组形式获取的文本字符串,还是要使用任意二进制数据的文本表示形式(十六进制)。 第一次使用:
String text = new String(data, 0, data.length, "ASCII");
对于第二个,您可以使用类似Apache Commons Codec的东西:
String text = Hex.encodeHexString(data);
将DataInputStream
包装在InputStreamReader中 。
不推荐使用DataInputStream.readLine()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.