Вставка байтов в середину двоичного файла

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

Блок построен как 1C 02 XX YY YY ZZ ZZ ZZ ... где XX - это идентификатор поля, которое мне нужно добавить, а YY YY - его размер, ZZ = data.

Я полагаю, что должно быть более или менее возможно прочитать все данные изображения до этого маркера (1C 02 XX), затем увеличьте размер байтов (ГГ ГГ), добавить данные в конце ZZ, а затем добавить остальную часть исходного файла? Это правильно?

Как мне продолжать? Он должен работать как можно быстрее с файлами JPEG размером 4–5 МБ.

12
задан Robert Harvey 13 March 2013 в 20:42
поделиться