我正在尝试通过与另一个设备的串行通信来接收和显示字节值。
public void handleMessage(Message msg){switch (msg.what){case UsbService.MESSAGE_FROM_SERIAL_PORT:String data = (String) msg.obj;String prt = byteArrayToHex(data.getBytes());mActivity.get().display.append(prt);break;}}static String byteArrayToHex(byte[] a){StringBuilder sb = new StringBuilder();for (final byte b : a){sb.append(String.format("%02x ", b & 0xff));}return sb.toString();}然而,上面的代码有一个问题,即"aa“值被更改为"ef bf bd”。
127以内的值就可以了。
因此,一开始更改为字符串似乎是一个问题,所以如果我使用"byte[] data = (byte[]) msg.obj;",它会在执行过程中崩溃。
如何正确显示"aa“值?