//将字节转换成字符串(16进制)
// 方法1
public string Bytes2HexString(byte[] bytes)
{
string str= "";
for (int i = 0; i < bytes.Length; i++)
{
str += string.Format("{0:X2}", bytes[i]);
}
return str;
}
// 方法2
public string Bytes2HexString(byte[] bytes)
{
string str= string.Concat(bytes.Select(u => u.ToString("X2")));
return str;
}
// 方法3
public string Bytes2HexString(byte[] bytes)
{
string str= BitConverter.ToString(bytes).ToUpper();
return str;
}
// 方法4
public string Bytes2HexString(byte[] bytes)
{
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();
}
// 方法5
public string Bytes2HexString(byte[] bytes)
{
string str = "";
if (insBytes != null)
{
for (int i = 0; i < length; i++)
{
str += insBytes[i].ToString("X2");
}
}
return str;
}
//将字符串(16进制)转化成字节数组
// 方法1
public byte[] HexString2Bytes(string str, int length)
{
byte[] bytes= new byte[length];
for (int i = 0; i < length; i++)
{
bytes[i] = Convert.ToByte("0X" + str.Substring(i * 2, 2), 16);
}
return bytes;
}
// 方法2
public byte[] HexString2Bytes(string hexString)
{
if (hexString.Length % 2 != 0)
throw new ArgumentException();
byte[] bytes = Enumerable.Range(0, hexString.Length / 2) //Range产生一个Enumerable类型的[0,1,2, ......]索引数组
.Select(i => Convert.ToByte(hexString.Substring(i * 2, 2), 16))
.ToArray();
return bytes;
}
public string Bytes2HexString(byte[] bytes)
{
string str= string.Concat(bytes.Select(u => u.ToString("X2")));
return str;
}