Как преобразовать число в строке в шестнадцатеричное значение?
У меня есть текстовый файл (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, но я хочу иметь однострочное преобразование для 0x30 в 0x0 и 0x46 в 0xF
ИЛИ ЖЕ
Однострочное решение для преобразования строки:
string s = 00FF10
в byte [] a = 0x0, 0xFF, 0x10
1 ответ
Читать содержимое файла как string
, разделить его, а затем проанализировать каждую часть как байт.
Пример без проверки ввода для упрощения:
var bytes = "00 FF 0F 00"
.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Select(s => byte.Parse(s, System.Globalization.NumberStyles.AllowHexSpecifier))
.ToArray();