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