C#编程,将十六进制数字转byte[]的两种方法

一、串转byte[]

	    /// 
        /// 16进制原码字符串转字节数组
        /// 
        /// "AABBCC"或"AA BB CC"格式的字符串
        /// 
        public static byte[] ConvertHexStringToBytes(string hexString)
        {
            hexString = hexString.Replace(" ", "");
            if (hexString.Length % 2 != 0)
            {
                throw new ArgumentException("参数长度不正确,必须是偶数位。");
            }
            byte[] returnBytes = new byte[hexString.Length / 2];
            for (int i = 0; i < returnBytes.Length; i++)
            {
                returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
            }

            return returnBytes;
        }

在两个十六位是一个字节,在循环中每两16字符个转一下字节。

二、在上面方法的基础上

将循环中的转化方法调整了

byte item ;
byte.TryParse(hexString.Substring(i * 2, 2), System.Globalization.NumberStyles.AllowHexSpecifier, System.Globalization.CultureInfo.InvariantCulture, out item);
returnBytes[i]=item ;

你可能感兴趣的:(C#)