将字节数组转换为十六进制字符串c#

10

假设我有一个字节数组。

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

我想将它转换为字符串

 string str = convert(a);  

我的str应该长成这样:

"33 43 FE"

我该怎么做呢?

2个回答

19

使用 BitConverter 类

 BitConverter.ToString(Bytes);

8
您可以使用以下代码:
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}格式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接