C# byte数组与16进制间的相互转换
1.byte数组转16进制字符串
/// <summary> /// 将一个byte数组转换成16进制字符串 /// </summary> /// <param name="data">byte数组</param> /// <returns>格式化的16进制字符串</returns> public static string ByteArrayToHexString(byte[] data) { StringBuilder sb = new StringBuilder(data.Length * 3); foreach (byte b in data) { sb.Append(Convert.ToString(b, 16).PadLeft(2, '0')); } return sb.ToString().ToUpper(); }
2.16进制字符串转byte数组
/// <summary> /// 将16进制字符串转换成byte数组 /// </summary> /// <param name="hexString">16进制字符串</param> /// <returns>byte数组</returns> public static byte[] ByteArrayToHexString(string hexString) { //将16进制秘钥转成字节数组 var byteArray = new byte[hexString.Length / 2]; for (var x = 0; x < byteArray.Length; x++) { var i = Convert.ToInt32(hexString.Substring(x * 2, 2), 16); byteArray[x] = (byte)i; } return byteArray; }
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/11423230.html