如何将字符串中的数字转换为十六进制值?

时间:2015-12-12 22:47:11

标签: .net hex type-conversion

我有一个文本文件(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 = 00FF10byte [] a = 0x0, 0xFF, 0x10

1 个答案:

答案 0 :(得分:0)

string的形式读取文件内容,将其拆分,然后将每个部分解析为字节。

没有输入验证的示例使其变得简单:

var bytes = "00 FF 0F 00"
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => byte.Parse(s, System.Globalization.NumberStyles.AllowHexSpecifier))
    .ToArray();