textbox1.Text+=data[i].ToString("X2");//转成16进制字符串显示
以16进制接收
在一些Socket测试工具,有一个功能叫做“HEX模式”,比如下面这张图里的Socket工具:
这次做项目碰巧需要实现一个类似的功能,代码如下:
public byte[] ConvertHexStrToByteArray(string hexStr)
{
string[] array = new string[hexStr.Length / 2];
byte[] bytes = new byte[array.Length];
for(int i=0;i<hexStr.Length;i++)
{
array[i / 2] += hexStr[i];
}
for (int i= 0; i < array.Length; i++)
{
bytes[i] = Convert.ToByte(strArray[i], 16);
}
return bytes;
}
简单解释一下,hexStr不必说,自然是你的16进制字符串,而array是一个临时的字符串数组,用来存放将你的16进制字符串分割为两个两个的字符串组。然后我们通过循环遍历填充临时字符串数组,最后调用Convert.ToByte方法的一个重载函数以实现将逐个字符串组以16进制模式转换。
转载请注明出处:
未经允许不得转载:lxfamn » Socket网络编程之以16进制模式发送数据