我正试图从蓝牙上的手指血氧计接收数据。连接工作,我以byte[]格式接收数据,然后使用UTF-8编码将字节数组转换为字符串格式,结果im UTF采用这种格式:
Ba�JBa�OBa�TBa�W�Z Ba Z Ba�\ Ba�] Ba�\ Ba�[ Ba�Z Ba�X�W
这是我的密码:
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);
}
});
}我应该做些什么来接收可读的数据来显示?
发布于 2014-08-04 10:30:10
使用String类的构造函数:
String dataReceived = new String(mbyteArr, "US-ASCII");但是,您应该确定编码名称。我的例子使用了"US-ASCII“和"UTF-8”这两个最常见的编码标准。可能您需要检查该小工具的文档的标准。
https://stackoverflow.com/questions/25116324
复制相似问题