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

从字节数组转换为字符串十六进制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);