我正在尝试将字节数组转换为十六进制字符串,因此我看到了很多生成此代码的示例
以下代码有此错误:
错误CS1503参数2:无法从'int'转换为'System.Globalization.NumberStyles'的SecurityLibrary
有什么帮助吗?
public string bytesToString(byte[,]array ,int row ,int column)
{
string result = "";
for(int i=0; i< row; i++)
{
byte[] arr = new byte[4];
for(int j=0; j<column;j++)
{
arr[j] = array[i,j];
}
string num = Convert.ToString(long.Parse(arr.ToString() ,16) );
result += num.ToString();
}
return result;
}
答案 0 :(得分:0)
您不能以这种方式使用字节数组。您需要将每个字节转换为十六进制,这样的方法应该起作用:
string num = string.Join("", arr.Select(a => a.ToString("X")));
或者,您也可以将其作为老式的六角对:
string num = string.Join("", arr.Select((a, i) => i > 0 && i % 2 == 0 ? " " + a.ToString("X") : a.ToString("X")));