从字节数组转换为字符串hex c#

Convert from byte array to string hex c#

本问题已经有最佳答案,请猛点这里访问。

假设我有字节数组。

1
byte[] a = new byte[] {0x33,0x43,0xFE};

我想把它转换成string

1
 string str = convert(a);

我的str应该是这样的:

1
"33 43 FE"

我该怎么做?


使用Bitconverter类

1
 BitConverter.ToString(Bytes);

您可以使用此代码:

1
2
byte[] a = new byte[] { 0x33, 0x43, 0xFE };
string str = string.Join("", a.Select(b => string.Format("{0:X2}", b)));

因此,convert方法可以是

1
2
3
4
string convert(byte [] a)
{
    return string.Join("", a.Select(b => string.Format("{0:X2}", b)));
}

使用X2是为了让每个字节用两个大写十六进制数字表示,如果您只希望一个数字用于小于16的数字,例如0xA,则使用{0:X};如果您希望小写数字,则使用{0:X}格式。