我正试图通过蓝牙接收手指血氧仪的数据。连接工作,我以byte []格式接收数据,然后我使用UTF-8编码将字节数组转换为字符串格式,结果我得到的格式为:
BaJBaOBaTBaW BAZ 巴\ 巴] 巴]巴]的Ba] 巴\ BA [ BAZ 的BaX BAW BaVBaUBaTBaSBaRBaQBaQBaPBaPBaPBaOBaOBaO @敖敖@ @ AO @一个@一个@一N - [AM @ AAB
这是我的代码:
if(b == delimiter)
{
byte[] encodedBytes = new byte[readBufferPosition];
System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length);
final String data = new String(encodedBytes, "UTF-8");
readBufferPosition = 0;
handler.post(new Runnable()
{
public void run()
{
Log.v("Test",data);
}
});
}
如何接收可读数据以进行显示?
答案 0 :(得分:1)
使用String class的构造函数:
String dataReceived = new String(mbyteArr, "US-ASCII");
但是你应该确定编码名称。我的例子使用" US-ASCII"和" UTF-8",两种最常见的编码标准。您可能需要使用小工具的文档检查标准。