【问题标题】:I get garbled message from RS232 to bluetooth我收到从 RS232 到蓝牙的乱码消息
【发布时间】:2014-08-08 00:48:11
【问题描述】:

设备消息:“'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...

【问题讨论】:

  • 谢谢!祝你的应用好运!

标签: java android bluetooth char buffer


【解决方案1】:

输出没有乱码,是有符号字节。

java 中的byte 是有符号字节; 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 /

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多