从字节数组转换为字符串十六进制c#
问题描述:
假设我有字节数组。从字节数组转换为字符串十六进制c#
byte[] a = new byte[] {0x33,0x43,0xFE};
我想将其转换为string
。
string str = convert(a);
我的STR应该是这样的:
"33 43 FE"
我怎么能这样做?
答
您可以使用此代码:
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
为了得到每个字节使用用两个大写的十六进制数字表示,如果你想要一个di git只适用于小于16的数字,例如0xA
,例如,使用{0:X}
,如果您要使用小写数字,请使用{0:x}
格式。
答
使用bitconverter类
BitConverter.ToString(Bytes);