Получить байты и записать их в файл

228
18 апреля 2022, 03:30

ByteArray: Конвертировал через HxD (c#)

byte[] rawData = 
{
  0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD,
  0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68
};

Hex: - так выглядит оригинальный файл закинутый в HxD

4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 B8 00 00 00 00 00 00 00 
40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 80 00 00 00 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68

Нашёл метод который получает Hex из бинарного файла

// 4D-5A-90-00-03-00-00-00-04-00-00-00-FF
// 4D5A90000300000004000000FF
public static void BitConvertToFile()
{
  var res = BitConverter.ToString(File.ReadAllBytes("build.exe"));
  var resdash = BitConverter.ToString(File.ReadAllBytes("build.exe")).Replace("-", string.Empty);
  File.WriteAllText("file.txt", resdash);
}

Вопрос: Как получить ByteArray (rawData) из Hex ( конвертировать его в байты ) и записать эту же последовательность байтов в файл .txt ?

В самом файле .txt должно быть содержимое такого текста:

0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD,
0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68
Answer 1
static void Main()
{
    byte[] rawData =
    {
        0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
        0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD,
        0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68
    };
    // в текст
    string text = string.Join(", ", rawData.Select(x => "0x" + x.ToString("X2")));
    File.WriteAllText("file.txt", text);
    // из текста
    string hex = File.ReadAllText("file.txt");
    byte[] fileData = hex.Split(',').Select(x => Convert.ToByte(x.Trim(), 16)).ToArray();
    // сравнение побайтово
    Console.WriteLine(rawData.SequenceEqual(fileData));
    Console.ReadKey();
}

Содержимое записанного файла

0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68

Вывод в консоль

True

Это значит, что массивы идентичны

READ ALSO
Стек страничного интерфейса WPF UserControl

Стек страничного интерфейса WPF UserControl

Вот что мне хочется реализовать (подобное), только для кнопки "назад", где вместо ссылок на сайт - ссылки на UserControlЖелательно ещё и с выходными...

165
Как разделить List во View

Как разделить List во View

Использую ChartJS для отрисовки диаграммыВ принимаемых значениях lables и data может обрабатываться только разделенные значения

371
Rider. Пустой .cs файл при генерации из web-reference

Rider. Пустой .cs файл при генерации из web-reference

Когда я добавляю web-reference к https://wwwonvif

140