Android 从蓝牙设备接收到无法读取的数据

Android 从蓝牙设备接收到无法读取的数据,android,character-encoding,bluetooth,bytearray,android-bluetooth,Android,Character Encoding,Bluetooth,Bytearray,Android Bluetooth,我正在尝试通过蓝牙从手指血氧计接收数据。连接工作,我接收字节[]格式的数据,然后我使用UTF-8编码将字节数组转换为字符串格式,我得到的结果是以下格式: Ba�乔巴�奥巴�T Ba�W 文学士�Z 文学士�\ 文学士�] 文学士�] Ba�] Ba�] 文学士�\ 文学士�[ 文学士�Z 文学士�X 文学士�W 文学士�V Ba�U Ba�T Ba�S Ba�R Ba�Q Ba�Q Ba�P Ba�P Ba�P Ba�奥巴�奥巴�O @a�O @a�O @a�O @a�N @a�N @a�N

我正在尝试通过蓝牙从手指血氧计接收数据。连接工作,我接收字节[]格式的数据,然后我使用UTF-8编码将字节数组转换为字符串格式,我得到的结果是以下格式:

Ba�乔巴�奥巴�T Ba�W 文学士�Z 文学士�\ 文学士�] 文学士�] Ba�] Ba�] 文学士�\ 文学士�[ 文学士�Z 文学士�X 文学士�W 文学士�V Ba�U Ba�T Ba�S Ba�R Ba�Q Ba�Q Ba�P Ba�P Ba�P Ba�奥巴�奥巴�O @a�O @a�O @a�O @a�N @a�N @a�N @a�M @aa�B

这是我的代码:

 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”,这是两种最常见的编码标准。您可能需要使用小工具的文档检查该标准