首页 新闻 会员 周边

C# Socket 16进制转换显示问题

0
[已解决问题] 解决于 2014-12-16 13:19

图中的软件可以连接通讯设备正常接收数据,按照FF FF FF FF CA CB CC CC开头 ,EA EB EC ED结尾.
如果不选择16进制显示收过来的全是乱码,请问如何实现16进制转换的功能c#.?

何小宝的主页 何小宝 | 初学一级 | 园豆:19
提问于:2014-11-19 13:18
< >
分享
最佳答案
0

显示乱码估计是你把它当字符串显示了吧,关键是看你发送的是什么数据,如果是字符串,把前缀标识符和后缀标识符去掉,然后按照传输约定的字符编码方式把二进制转换成字符串显示就不会乱了。

奖励园豆:5
空明流光 | 初学一级 |园豆:106 | 2014-11-19 13:34

不是的  图中的软件是别人写的一个调试助手,我就是想知道他是如何实现16进制转换显示这个功能的。

 

何小宝 | 园豆:19 (初学一级) | 2014-11-19 13:36

 @何小宝: 简单呀,socket默认接收到的都是二进制数据,你转成16进制他不就显示出来了吗? 计算机基础啊

空明流光 | 园豆:106 (初学一级) | 2014-11-19 13:38

@沧海一杰: 但是我接收的时候出现乱码 

何小宝 | 园豆:19 (初学一级) | 2014-11-19 15:56
其他回答(2)
0

发送接收都要转码

iEvent | 园豆:529 (小虾三级) | 2014-11-20 16:26
0

百度下,网上资料很多。

网络发数据都是以字节的形式发送的。都是这样的

byte []data=new byte [1024];

都是一个字节的,你想转成16进制并在文本框里显示的话,可以这样

int i=0;
for(i=0;i<data.length;i++)
      textbox1.Text+=data[i].ToString("X2");//转成16进制字符串显示

不知道你想问的是哪张情况的转

yalunwang | 园豆:22 (初学一级) | 2014-11-22 09:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册