0

我不断从存储在缓冲区中的远程蓝牙设备获取数据readBuf

我将此复制readBufbuf.

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....

如何获取数据以记录?

4

2 回答 2

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());
于 2014-10-21T10:19:03.127 回答
0

Arrays.toString(byte[])

工作正常,尽管您看到的是每个字节的有符号整数表示。那是因为在 Java 中,所有整数都用二进制补码签名。

您可以在这个答案中学到很多关于如何将字节转换为十六进制的知识。

于 2014-10-22T14:24:50.523 回答