Socket网络编程之以16进制模式发送数据

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进制模式转换。

转载请注明出处:

转载自http://lxfamn.cn/blog

未经允许不得转载:lxfamn » Socket网络编程之以16进制模式发送数据

赞 (0) 打赏

置顶推荐

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏