我有一个文本文件(test.txt),其中包含十六进制数据,当我打开它时,它看起来像:
的test.txt:
00 FF 0F 00
......等等。
我用.NET阅读它们:
byte [] in = System.IO.File.ReadAllBytes("D:/test.txt");
此时,我可以看到我的字符串:
in[0] = 0x30 // first 0
in[1] = 0x30 // second 0
in[2] = 0x20 // space
in[3] = 0x46 // F char
...
我可以删除每个空格和\ n \ r \ n字符,但我希望有一个sipmle一行转换为0x30到0x0和0x46到0xF
OR
使用以下内容转换字符串的单行解决方案:
string s = 00FF10
至byte [] a = 0x0, 0xFF, 0x10
答案 0 :(得分:0)
以string
的形式读取文件内容,将其拆分,然后将每个部分解析为字节。
没有输入验证的示例使其变得简单:
var bytes = "00 FF 0F 00"
.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Select(s => byte.Parse(s, System.Globalization.NumberStyles.AllowHexSpecifier))
.ToArray();