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)
下一篇:
TCP连接异常终止(RST包)场景分析