小编jaw*_*win的帖子

如何在BluetoothChat中从输入/输出流读取/写入原始十六进制字节?

我正在开发一个基于BluetoothChat示例代码的应用程序.我需要能够将包含十六进制值的字节数组写入输出流.我还需要解析输入流上的字节数组并读取十六进制值.这是我的代码,只是简单地将十六进制值写入字节数组

byte[] data = new byte [3];
data[0] = (byte) 0x53;
data[1] = (byte) 0x1C;
data[2] = (byte) 0X06;
Run Code Online (Sandbox Code Playgroud)

但是,当单步执行调试并观察"数据"时,调试器会将值显示为data [0] = 83,data [1] = 28,data [2] = 6.为什么所有值都转换为ascii?当我在读取输入流时观察byte []缓冲区时,会发生同样的事情.

 // Read from the InputStream
 bytes = mmInStream.read(buffer);
Run Code Online (Sandbox Code Playgroud)

我发送了一个包含十六进制值的字节数组,但是byte []缓冲区显示了ascii值.如何通过蓝牙读取和写入原始十六进制值?对于命令,一些读/写流将短<15byte流.但我还需要读取一个编码为十六进制字节的大文件.对该输入流的任何建议?我需要使用BufferedInputStream吗?

java debugging android hex stream

6
推荐指数
1
解决办法
4348
查看次数

标签 统计

android ×1

debugging ×1

hex ×1

java ×1

stream ×1