Android 从蓝牙设备接收到无法读取的数据
我正在尝试通过蓝牙从手指血氧计接收数据。连接工作,我接收字节[]格式的数据,然后我使用UTF-8编码将字节数组转换为字符串格式,我得到的结果是以下格式: Ba�乔巴�奥巴�TBa�W 文学士�Z 文学士�\ 文学士�] 文学士�] Ba�] Ba�] 文学士�\ 文学士�[ 文学士�Z 文学士�X 文学士�W 文学士�VBa�UBa�TBa�SBa�RBa�QBa�QBa�PBa�PBa�PBa�奥巴�奥巴�O@a�O@a�O@a�O@a�N@a�N@a�N@a�M@aa�B 这是我的代码:Android 从蓝牙设备接收到无法读取的数据,android,character-encoding,bluetooth,bytearray,android-bluetooth,Android,Character Encoding,Bluetooth,Bytearray,Android Bluetooth,我正在尝试通过蓝牙从手指血氧计接收数据。连接工作,我接收字节[]格式的数据,然后我使用UTF-8编码将字节数组转换为字符串格式,我得到的结果是以下格式: Ba�乔巴�奥巴�TBa�W 文学士�Z 文学士�\ 文学士�] 文学士�] Ba�] Ba�] 文学士�\ 文学士�[ 文学士�Z 文学士�X 文学士�W 文学士�VBa�UBa�TBa�SBa�RBa�QBa�QBa�PBa�PBa�PBa�奥巴�奥巴�O@a�O@a�O@a�O@a�N@a�N@a�N
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);
}
});
}
我应该如何接收可读数据以进行显示?使用字符串类的构造函数:
String dataReceived = new String(mbyteArr, "US-ASCII");
但是,您应该确定编码名称。我的示例使用了“US-ASCII”和“UTF-8”,这是两种最常见的编码标准。您可能需要使用小工具的文档检查该标准