Android蓝牙通信字节数组的数据类型转换求教
2个回答
展开全部
觉得你这几个方法都要改写吧。通常协议操作绝不能用String作为交换格式。多次转码。导致数据变形,特别是“同步头(2B) 包类型(1B) 数据长度(2B) ”这个数据从byte[] ->String->byte[]多次转换,100%会导致数据变化。通常只在byte[]上操作,改成private byte[]getPackage();private byte[] getHead(byte []);sendMessage(byte[]);这几个方法都改成byte[],不然即使强调硬扭弄对也有运气成分。 System.out.println("原head:"+Arrays.toString(head));String t=new String(head,"GB2312")+"hello world";System.out.println("合并gb文本:"+t);System.out.println("还原的head:"+Arrays.toString(t.getBytes("gb2312")));=========
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询