modbus传汉字

awjx 2014-05-19 08:11:28
需要将汉字通过modbus协义传输,比如“汉字123”,怎么传,求支招!
...全文
1308 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2014-05-27
  • 打赏
  • 举报
回复
引用 11 楼 awjx 的回复:
[quote=引用 10 楼 zhxianbin 的回复:] [quote=引用 9 楼 awjx 的回复:] 你们能不能直接给个Utf8ToGB2312的函数?讲这一大堆道理谁不知道啊? 另外,我自已写出来了,算我白问了。
火气挺大,根本需要什么 Utf8ToGB2312。无论 GB2312 还是 UTF8 应该都行[/quote] 确实什么编码都行,但为了与其它系统保持一致性,所以需要统一转成GB2312,怎么转?[/quote] 你文件使用 GB2312 编码
awjx 2014-05-27
  • 打赏
  • 举报
回复
引用 10 楼 zhxianbin 的回复:
[quote=引用 9 楼 awjx 的回复:] 你们能不能直接给个Utf8ToGB2312的函数?讲这一大堆道理谁不知道啊? 另外,我自已写出来了,算我白问了。
火气挺大,根本需要什么 Utf8ToGB2312。无论 GB2312 还是 UTF8 应该都行[/quote] 确实什么编码都行,但为了与其它系统保持一致性,所以需要统一转成GB2312,怎么转?
awjx 2014-05-27
  • 打赏
  • 举报
回复
char* czAA = "Utf8转成GB2312"; 需要将这个变量转成GB2312, 你说的是把哪个文件使用GB2312?
awjx 2014-05-26
  • 打赏
  • 举报
回复
你们能不能直接给个Utf8ToGB2312的函数?讲这一大堆道理谁不知道啊? 另外,我自已写出来了,算我白问了。
zhxianbin 2014-05-26
  • 打赏
  • 举报
回复
引用 9 楼 awjx 的回复:
你们能不能直接给个Utf8ToGB2312的函数?讲这一大堆道理谁不知道啊? 另外,我自已写出来了,算我白问了。
火气挺大,根本需要什么 Utf8ToGB2312。无论 GB2312 还是 UTF8 应该都行
awjx 2014-05-23
  • 打赏
  • 举报
回复
问题时一步深入了,就是发送端linux下是utf8,而接收端win是gb2312,我准备把发送端编码成gb2312 再发送,请问怎么编码?
wesley 2014-05-23
  • 打赏
  • 举报
回复
其实和传普通的16进制一样的,反正一个汉字由两个16进制组成,接收方对这两个16进制文件译下码就可以咯
celerylxq 2014-05-23
  • 打赏
  • 举报
回复
同意4楼,选择 ANSI 码或 Unicode 码,传输即可,对端直接能翻译出来
of123 2014-05-23
  • 打赏
  • 举报
回复
网上搜一下,相关的转换函数很多。如 http://www.rosoo.net/a/201008/10040.html。 不过,可以不用那么麻烦。UTF8 是为了解决 7-bit 局域网环境传输。你可以将每个字节拆成两个半字节,每次发送一个 4-bit 数据。接收端拼装一下就行了。
追梦的魂影 2014-05-20
  • 打赏
  • 举报
回复
将汉字装在2个字符里面传递,在解码时,汉字的编码第一位和单字符编码不在一个区间,具体编码规则你可以查GB2312编码表,通过第一个字符区分汉字和单字符后,后面不用我说了吧
zhxianbin 2014-05-20
  • 打赏
  • 举报
回复
一个汉字 GB2312 占 2个 字节
of123 2014-05-20
  • 打赏
  • 举报
回复
所谓传汉字,实际上传的是编码。这要看你的传输协议是传 ANSI 码还是 Unicode 码。 如果是 ANSI:0xBA, 0xBA, 0xD7, 0xD6, 0x31, 0x32, 0x33 如果是 Unicode:0xBA, 0xBA, 0xD7, 0xD6, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00
joy_v 2014-05-19
  • 打赏
  • 举报
回复
汉字不是也有编码的吗?传16进制不就OK了

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧