十六进制字符串转字节数组
实现思路
由于十六进制字符串可能有多种形式的表现,例如: AA BB CC
或 AABBCC
或 AA-BB-CC
等等。因此设计上需要尽量兼容这些写法,所以选择采用正则的方式,以两个十六进制字符作为一组进行匹配。
MatchCollection matchs = Regex.Matches(hexStr, @"\w{2}"); byte[] bytes = matchs.Cast<Match>().Select(match => "0x" + match.Value).Select(match => (byte)Convert.ToInt32(match, 16)).ToArray();点击复制复制失败已复制
字节数组十六进制字符串显示
/// <summary> /// 字节数组十六进制字符串显示 /// </summary> /// <param name="bytes">字节数组</param> /// <param name="connector">十六进制字符串</param> /// <returns>十六进制显示字符串</returns> public static string BytesToHexStr(byte[] bytes, string connector = "") { string returnStr = ""; if (bytes != null) { for (int i = 0; i < bytes.Length; i++) { returnStr += (bytes[i].ToString("X2") + connector); } } return returnStr; }