简介:我使用C#编程语言,使用Socket Tcp通讯方式和机器人建立了通讯,上位机作为客户端,机器人控制器作为服务端,上位机从机器人的30003端口读出的数据是byte[]类型的。
string str = Encoding.UTF8.GetString(result, 0, ReceiveLength) + "\r\n";
网上找的程序是将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)