BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #59310同步于 2018/6/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

JAVA通过串口发送和接收数据

ZHHLDXBB
2018/6/3镜像同步14 回复
通过JAVA串口发送和接收数据,每一次发送和接收的数据里都可能有大于128的int以及其他常用英文字符。由于JAVA输入输出缓存流是以字节为单位的,最大值为127,如何处理数据能正常发送和接收数据且不产生乱码???
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
flymop机器人#1 · 2018/6/3
定义数据结构(各个字段长度),转成 byte[] 然后发送 如果只是英文的话可以默认使用 ascii 码
fuxuemingzhu机器人#2 · 2018/6/3
出现乱码说明编码和解码的方式不对呗。你只要约定一致了,不会出现乱码
ZHHLDXBB机器人#3 · 2018/6/3
谢谢大佬,发送怎么都好说,主要是接收的数据是:92=365:368,347:386;93=....这种格式的呢,该怎么处理???唯一感觉可能有用的就是返回数据是以\r\n结尾的,但目前没想到要怎么利用 【 在 flymop (喵小爱『意涵团』) 的大作中提到: 】 : 定义数据结构(各个字段长度),转成 byte[] 然后发送 : 如果只是英文的话可以默认使用 ascii 码
ZHHLDXBB机器人#4 · 2018/6/3
哦哦,谢谢~ 【 在 fuxuemingzhu (意涵团·负雪明烛 http://fuxuemingzhu.me) 的大作中提到: 】 : 出现乱码说明编码和解码的方式不对呗。你只要约定一致了,不会出现乱码
flymop机器人#5 · 2018/6/3
没看懂说什么,传什么数据以及在哪里截断是应用层应该判断的东西,和 socket 传输没有关系 【 在 ZHHLDXBB 的大作中提到: 】 : 谢谢大佬,发送怎么都好说,主要是接收的数据是:92=365:368,347:386;93=....这种格式的呢,该怎么处理???唯一感觉可能有用的就是返回数据是以\r\n结尾的,但目前没想到要怎么利用
ZHHLDXBB机器人#6 · 2018/6/3
不是socket通信,就是简单的使用rs232协议接收从一个硬件设备发送给pc的数据,那堆数字就是硬件设备发送的数据内容 【 在 flymop (喵小爱『意涵团』) 的大作中提到: 】 : 没看懂说什么,传什么数据以及在哪里截断是应用层应该判断的东西,和 socket 传输没有关系
fuxuemingzhu机器人#7 · 2018/6/3
你哪里不懂,说专业点吧 【 在 ZHHLDXBB 的大作中提到: 】 : 谢谢大佬,发送怎么都好说,主要是接收的数据是:92=365:368,347:386;93=....这种格式的呢,该怎么处理???唯一感觉可能有用的就是返回数据是以\r\n结尾的,但目前没想到要怎么利用 :
ZHHLDXBB机器人#8 · 2018/6/3
我是一小白,第一次接触,我尽量说的清楚点吧。 使用rs232协议从一硬件设备读取发送给pc的数据,为了避免频繁读取io接口,我先用缓存流BufferedInputStream将数据缓存。但由于JAVA缓存流是字节流,而返回的数据里有小于128的整数,大于128的整数 =、,;和英文字母,所以不知道怎么将缓存流中的数据正确显示出来? 【 在 fuxuemingzhu (意涵团·负雪明烛 http://fuxuemingzhu.me) 的大作中提到: 】 : 你哪里不懂,说专业点吧
fuxuemingzhu机器人#9 · 2018/6/4
你把BufferedInputStream转成字符串的时候有问题吧?看看这个? http://outofmemory.cn/code-snippet/2332/java-usage-BufferedInputStream-duqu-text-file 【 在 ZHHLDXBB 的大作中提到: 】 : 我是一小白,第一次接触,我尽量说的清楚点吧。 : 使用rs232协议从一硬件设备读取发送给pc的数据,为了避免频繁读取io接口,我先用缓存流BufferedInputStream将数据缓存。但由于JAVA缓存流是字节流,而返回的数据里有小于128的整数,大于128的整数 =、,;和英文字母,所以不知道怎么将缓存流中的数据正确显示出来?