论坛大神
  
- 积分
- 3223
- 金钱
- 3223
- 注册时间
- 2015-7-26
- 在线时间
- 811 小时
|
发表于 2015-11-24 13:16:03
|
显示全部楼层
1选择Hex发送就代表你要发送的内容是纯数字,由程序完成String到Int再到Byte的转化。所以你应该保证每个你要发送的数都是两位的,如果是7就应该写07,因为程序会每两位每两位地读。如果你选择了Hex发送,而输入的又是字符,比如你写了ab,那么就会被程序读为16进制的AB。这就是不同的概念了,无论你选择什么方式显示都不能得到原来的ab了。
2选择ASCII发送就代表你要发送的是字符串,这时候程序就会一位一位地读,比如你写了1234,在字节流中传递的就是123对应的ASCII码,31,32,33,34(十六进制的)。比较而言,在Hex发送模式下,写了1234,会被发送的就是12,34,如果是01020304那就是01,02,03,04。这个时候,你写ab就会发送相应的ASCII码61,62,其他字符同理。
发送字符数的话,接收端直接减去'0'就好了,如果你想发送一串数字,例如3654,你可以发送"3654"这个字符串,然后接收端接收后调用C库里面的atoi这个函数可以直接将字符串转为整数3654,很多这样的C库函数很方便,你可以自己百度下 |
|