Как найти сжатые биты определенных файлов в zip-архиве для дальнейшей обработки? - PullRequest
0 голосов
/ 07 июня 2018

Контекст: чтобы сэкономить больше места, я хочу дополнительно сжать некоторые файлы в zip-архиве с помощью алгоритма, а другие файлы в том же архиве - с помощью другого алгоритма.Позже мне нужно будет отменить процесс, чтобы получить оригинальный zip-архив, поскольку zip-файлы принадлежат пользователям.

Как найти сжатые биты определенных файлов в zip-архиве для дальнейшей обработки?

Язык: думаю, этот код обычно является C / C ++ для производительности, но C # тоже хорош.

ОС: Windows Server 2012 R2 или более поздняя версия.

Редактировать: Я узнал, что в формате zip ( zlib ) сжатые файлы организованы в блоки.Мы должны быть в состоянии найти файлы путем поиска заголовков.Все еще проверяю, как его кодировать.

1 Ответ

0 голосов
/ 07 июня 2018

Формат файла zip полностью документирован.например, http://www.fileformat.info/format/zip/corion.htm Вы можете легко найти другие источники и описания.

Что вам нужно сделать, это прочитать байты в соответствии с форматом, и вы точно знаете, где находятся сжатые биты определенного файла.Вы можете найти библиотеки с открытым исходным кодом для этого или вы можете свернуть свои собственные на предпочитаемом вами языке.

В качестве примечания, сжатие сжатого файла в zip-архиве может не стоить усилий.

...