Как инвертировать байты в определенном порядке в файле в C #? - PullRequest
0 голосов
/ 15 сентября 2018

Мне было интересно в моем коде C #, как я могу обратить байты в определенном порядке в файле?Позвольте мне быть более точным, у меня есть файл, и мне нужно изменить порядок следования некоторых байтов внутри него (с прямым порядком байтов на младший).

Сначала мне нужно изменить смещение от 0x00 до 0x03, затем от 0x04 до0x07, затем от 0x08 до 0x0B, затем от 0x0C до 0x0F, затем смещение от 0x10 до 0x13, затем смещение от 0x13 до 0x17, затем смещение от 0x18 до 0x1B.

После этого мне нужно повернуть все после 0x1B группами по 2 байта(от 0x1C до 0x1D и т. д.), пока я не достигну смещения 0x60 (смещение 0x60 - это размер заголовка файла, только байты заголовка должны быть обращены от старшего к младшему порядковому порядку байтов).

Кто-нибудь знает, какЯ могу добиться этого в коде C #?Я довольно новичок в C #, и я пытался сделать это самостоятельно, но безрезультатно.Пожалуйста, помогите, если можете, спасибо.

1 Ответ

0 голосов
/ 15 сентября 2018

Вы можете повернуть их вспять с помощью простой функции:цикл тоже:

for (int i=0; i<16; i+=4)
    ReverseBytes(fileBytes, i, 4);
...