做一个数据传输项目,使用铱星 来通讯。 跟铱星终端发送数据需要将数据存进一个.sbd文件中 再通过邮件附件方式发送出去 现在遇到一个很奇怪的问题 dates = new byte[] { 0x0d,0x00,0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
string StrAppText = Encoding.ASCII.GetString(dates);可以在铱星终端上接收到数据 01 02 03 04 05 06 07 08这个是测试代码 0x0d是铱星平台的关键字 紧跟着的是 0x00 0x08 这个数据的长度 把数据换成
dates = new byte[] { 0x0d,0x00,0x08,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x07,0x08};
也是没有问题的
现在遇到的问题是 : 传输数据时出现 0xa1 也就是任何字符开头的两位 byte 都出出现解析错误(例如0xa1-0xa9 0xb1-0xb9.....)
例如 dates = new byte[] { 0x0d,0x00,0x08,0xa1,0xb,0xc,0xd,0xe,0xf,0x17,0x18};我从铱星终端串口得到的数据是:3F 0B 0C 0D 0E 0F 17 18 它把A1解析成了3F 一般国外像这样的数据传输都使用什么编码方式? 我该用什么编码来解决这个问题呢?
string StrAppText = Encoding.ASCII.GetString(dates);可以在铱星终端上接收到数据 01 02 03 04 05 06 07 08这个是测试代码 0x0d是铱星平台的关键字 紧跟着的是 0x00 0x08 这个数据的长度 把数据换成
dates = new byte[] { 0x0d,0x00,0x08,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x07,0x08};
也是没有问题的
现在遇到的问题是 : 传输数据时出现 0xa1 也就是任何字符开头的两位 byte 都出出现解析错误(例如0xa1-0xa9 0xb1-0xb9.....)
例如 dates = new byte[] { 0x0d,0x00,0x08,0xa1,0xb,0xc,0xd,0xe,0xf,0x17,0x18};我从铱星终端串口得到的数据是:3F 0B 0C 0D 0E 0F 17 18 它把A1解析成了3F 一般国外像这样的数据传输都使用什么编码方式? 我该用什么编码来解决这个问题呢?
当通信的两端没有握手时,信号时杂乱的,这就要求双方有一个握手机制,比如你发送5个以上的高电平FFFFFFFFFF000D....,当第一次接受到低电平时(00),握手成功,然后是数据包
如果5个不行,你可以继续增加高电平的数量。
当时就是因为只发送1个高电平,导致始终握不上手。
不是。 是通过卫星通讯 ,设备安装在很偏远的地方。 没有手机信号,什么都没有 , 只有通过卫星通讯。其实就跟我们使用手机连接网络一样的道理的就和QQ一样 我这边发送数据
ates = new byte[] { 0x0d,0x00,0x08,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
去掉一些命令字段 我们看到的因该是 十进制的 1 2 3 4 5 6 7 8 十六进制中 出现 0xa1 这样的数据 另外一边显示的时候出现错误显示 , 不是转换成十进制以后的 161 而是 63 0xa1 -0xaf .... 0xf1-0xff 传出过来以后都成了 0x3f也就是 十进制的63 请问 这个可能是什么造成的