使用MFC winsock接收16进制数错误

风殇4435 2014-04-02 08:58:08
接收大于80的16进制数会接收到3F,怎么解决啊
...全文
758 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
这不是鸭头 2014-04-03
  • 打赏
  • 举报
回复
引用 11 楼 u012479540 的回复:
[quote=引用 10 楼 arpnet99 的回复:] [quote=引用 8 楼 u012479540 的回复:] [quote=引用 6 楼 arpnet99 的回复:] 大于80的是汉字,要2个字节的一块处理。
我发送的是例如01 02 03 88 02这样的16进制数[/quote] 那你这个不是汉字。你要确定你发送的什么内容。为什么要这么格式化。你要是分不清这些概念,在网络通信和界面显示这方面就会绕来绕去的[/quote] 我是接收modbus通信协议的数据包,接收软件采用MFC 使用了winsock控件,通常接收这种数据包并在软件上显示,你们都采用什么方法[/quote] 直接接收数据,然后格式化为字符串就行了。sprintf(tmpbuf,"%2.2X ",buffer[i]); ......
风殇4435 2014-04-03
  • 打赏
  • 举报
回复
引用 10 楼 arpnet99 的回复:
[quote=引用 8 楼 u012479540 的回复:] [quote=引用 6 楼 arpnet99 的回复:] 大于80的是汉字,要2个字节的一块处理。
我发送的是例如01 02 03 88 02这样的16进制数[/quote] 那你这个不是汉字。你要确定你发送的什么内容。为什么要这么格式化。你要是分不清这些概念,在网络通信和界面显示这方面就会绕来绕去的[/quote] 我是接收modbus通信协议的数据包,接收软件采用MFC 使用了winsock控件,通常接收这种数据包并在软件上显示,你们都采用什么方法
这不是鸭头 2014-04-03
  • 打赏
  • 举报
回复
引用 8 楼 u012479540 的回复:
[quote=引用 6 楼 arpnet99 的回复:] 大于80的是汉字,要2个字节的一块处理。
我发送的是例如01 02 03 88 02这样的16进制数[/quote] 那你这个不是汉字。你要确定你发送的什么内容。为什么要这么格式化。你要是分不清这些概念,在网络通信和界面显示这方面就会绕来绕去的
__cc__ 2014-04-03
  • 打赏
  • 举报
回复
引用 8 楼 u012479540 的回复:
[quote=引用 6 楼 arpnet99 的回复:] 大于80的是汉字,要2个字节的一块处理。
我发送的是例如01 02 03 88 02这样的16进制数[/quote] 你先确认你通过socket发出去的数据到底是什么。
风殇4435 2014-04-03
  • 打赏
  • 举报
回复
引用 6 楼 arpnet99 的回复:
大于80的是汉字,要2个字节的一块处理。
我发送的是例如01 02 03 88 02这样的16进制数
风殇4435 2014-04-03
  • 打赏
  • 举报
回复
引用 6 楼 arpnet99 的回复:
大于80的是汉字,要2个字节的一块处理。
那函数应该怎么写,我是先把接收的字符串利用unsigned char aa = strTem.GetAt(k);转换为字符,然后转换为字节类型,最后使用 temp.Format转换为CString
这不是鸭头 2014-04-03
  • 打赏
  • 举报
回复
大于80的是汉字,要2个字节的一块处理。
风殇4435 2014-04-03
  • 打赏
  • 举报
回复
引用 4 楼 arpnet99 的回复:
传输过程是不分这些的。 要想显示则十六进制格式化为字符串。
最后我把16进制转换为字符串显示了,16进制数小于80的接收正常,但是大于80的接收到的是3F
这不是鸭头 2014-04-03
  • 打赏
  • 举报
回复
传输过程是不分这些的。 要想显示则十六进制格式化为字符串。
风殇4435 2014-04-03
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
按16进制对待 不要当成可视字符
我是先以字符串形式接收,转换为字符然后转换为字节类型,然后转换为16进制,你说的以16进制对待什么意思
风殇4435 2014-04-03
  • 打赏
  • 举报
回复
我是先以字符串形式接收,转换为字符然后转换为字节类型,然后转换为16进制,你说的以16进制对待什么意思
zgl7903 2014-04-03
  • 打赏
  • 举报
回复
按16进制对待 不要当成可视字符

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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