我正在开发一个基于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吗?