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

时间:2013-04-30 12:59:57

标签: c# arrays string byte

假设我有字节数组。

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

我想将其转换为string

 string str = convert(a);  

我的str应该是这样的:

"33 43 FE"

我该怎么做?

2 个答案:

答案 0 :(得分:9)

使用bitconverter类

 BitConverter.ToString(Bytes);

答案 1 :(得分:4)

您可以使用此代码:

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

所以convert方法可能是

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

使用X2是为了让每个字节用两个大写的十六进制数字表示,如果你想只有一个数字用于小于16的数字,例如0xA,请使用{0:X}如果你想要小写数字,请使用{0:x}格式。