如何将byte[]
转换为string
?我每次尝试都会得到
System.Byte []
而不是值。
另外,如何以十进制而不是十六进制获取值?
使用下面的代码我只能使用十六进制
string hex = BitConverter.ToString(data);
这是我的代码
static void Main(string[] args)
{
Program obj = new Program();
byte[] byteData;
int n;
byteData = GetBytesFromHexString("001C0014500C0A5B06A4FFFFFFFFFFFFFFFFFFFFFFFFFFFF");
n = byteData.Length;
string s = BitConverter.ToString(byteData);
Console.WriteLine("<Command Value='" + s + "'/>");
Console.WriteLine("</AudioVideo>");
Console.ReadLine();
}
public static byte[] GetBytesFromHexString(string hexString)
{
if (hexString == null)
return null;
if (hexString.Length % 2 == 1)
hexString = '0' + hexString; // Up to you whether to pad the first or last byte
byte[] data = new byte[hexString.Length / 2];
for (int i = 0; i < data.Length; i++)
data[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
Console.WriteLine(data);
return data;
}
输出应该是:
0 28 0 20 80 12 10 91 6 164 255 255 255 255 255 255 255 255 255 255 255 255 255 255
输出应存储在字符串中并显示。
答案 0 :(得分:2)
替换
行string s = BitConverter.ToString(byteData);
与
string s = string.Join(" ", byteData.Select(b => b.ToString()));
你应该好好去。