Socket网络编程之以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进制模式转换。


猜你喜欢

转载自blog.csdn.net/u012878073/article/details/80654111
今日推荐