繁体   English   中英

我收到从RS232到蓝牙的乱码消息

[英]I get garbled message from RS232 to bluetooth

设备信息:“'14/08/06”

bytes = mmInStream.read(buffer);
char c = 0;
for(int i=0;i<buffer.length;i++)
{
   int value = buffer[i];   
   Log.e(tag,"WORD="+value);                    
   c= (char)value; 


}

最后有些单词会出现乱码(变成负数),有些单词会显示遵循ASCII

WORD=34
WORD=39
**WORD=-79
WORD=-76
WORD=-81**
WORD=48
......etc

变成=>'ᄆ ᄡ ᆵ 0 ᄌ ᆵ 0 ᄋ“ ᆲ” ᄆ 6 ...

输出不乱码,是带符号的字节。

一个byte在Java是一种符号字节; Byte.MAX_VALUE = 127, Byte.MIN_VALUE = -128。

WORD=-79 + 128 = 49 in ASCII 1
WORD=-76 + 128 = 52 in ASCII 4
WORD=-81 + 128 = 47 in ASCII /

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM