我不断从远程蓝牙设备获取数据,我将其存储在缓冲区readBuf
中。
我将此readBuf
复制到buf
。
System.arraycopy(readBuf, 0, buf, 0, readBuf.length);
现在我的buf
包含的数据 -
buf[0] == 0x7D
buf[1] == 0x51
buf[2] == 0x42
...and so on...
我想记录这些数据,以了解远程蓝牙设备的内容。
我试过了,
Log.i(TAG, "Buffer Data---- "+Arrays.toString(buf));
但它没有正确地提供数据7D 51 42 and so on....
如何获取数据以便记录?
答案 0 :(得分:0)
这很好用 -
StringBuffer bufData = new StringBuffer();
for(byte b : readBuf)
{
bufData.append(String.format("%02X", b));
bufData.append(" ");
}
Log.i(TAG, "Data Coming from Remote Device---"+bufData.toString());
答案 1 :(得分:0)
Arrays.toString(字节[])
工作正常,但您看到的是每个字节的有符号整数表示。这是因为在Java中,所有整数都使用Two's Complement签名。
您可以在this答案中了解如何将字节转换为十六进制。