socket接收并显示16进制的数据

简介:我使用C#编程语言,使用Socket Tcp通讯方式和机器人建立了通讯,上位机作为客户端,机器人控制器作为服务端,上位机从机器人的30003端口读出的数据是byte[]类型的。 string str = Encoding.UTF8.GetString(result, 0, ReceiveLength) + " "; 网上找的程序是将byte[]类型的数据转化成字符串类型进行输出,输出之后,因为有些字符是不能显示的,所以不合适。我是需要将接收的yte[]类型的数据转换层十六进制然后再进行后续处理的。 做法: 参考

byte []data=new byte [1024]; int i=0; for(i=0;i<data.length;i++) textbox1.Text+=data[i].ToString("X2");//转成16进制字符串显示 使用内置函数将字符串转换为16进制 总结1:ToString("X2")的解释

tostring("x2")中

--x--表示16进制 而且区分大小写 X输出为大写 x输出为小写

--2--表示每次都是两位数

string转char char=Convert.toint16(string)

string转int int=Convert.toint32(string)

string转 double double =Convert.toint64(string)

经验分享 程序员 微信小程序 职场和发展