c# - 有没有办法将字节数组转换为十六进制字符串?
问题描述
我正在尝试将字节数组转换为十六进制字符串,因此我看到了很多示例来生成此代码
以下代码有此错误:
错误 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;
}
解决方案
您不能以这种方式使用字节数组。您需要将每个字节转换为十六进制,这样的事情应该可以工作:
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")));
推荐阅读
- database - 在 Centos 7 上安装和配置 Oracle 12c XE/Enterprise
- linux - 重定位错误:libc.so.6:符号 _dl_starting_up,版本 GLIBC_PRIVATE 未在文件 ld-linux-x86-64.so.2 中定义,带有链接时间参考
- c# - 如何使用 C# 执行打印命令的 cmd?
- cron - Cron 调度程序用例
- c# - 寻找匹配预算的最佳组合
- reactjs - reactjs用路由空白页构建
- android - 如何在videoView android中截取当前视频帧的屏幕截图?
- c# - 为什么 Visual Studio 甚至在 Assets 文件夹之外创建 .meta 文件?
- ruby-on-rails - 为什么我之前没有插入这样的中间件:“ActionDispatch::Static”(RuntimeError)
- c# - 当 validationKey 和 encryptionKey 设置为自动生成的值时,为什么 MachineKey.Unprotect 会失败?