Позволяет ли zlib распаковывать файлы из середины файла? Что я имею в виду, если я вызову inflate с потоком, который указывает на середину сжатых данных, не вызывая inflate к данным, предшествующим середине, будет ли это работать?
inflate
Копия из zlib FAQ (ударение мое):
28. Можно ли получить произвольный доступ к данным в сжатом потоке? Нет, не без какой-либо подготовки. Если при сжатии вы периодически используете Z_FULL_FLUSH, внимательно напишите все ожидающиеданные в этих точках и хранить индекс этих мест, затем вы можете начать декомпрессию в этих точках.Вы должны быть осторожны, чтобы не использовать Z_FULL_FLUSH слишком часто, так как это может значительно ухудшить сжатие.Кроме того, вы можете отсканировать поток дефлята один раз, чтобы сгенерировать индекс, а затем использовать этот индекс для произвольного доступа.Смотрите примеры / zran.c.
28. Можно ли получить произвольный доступ к данным в сжатом потоке?
Нет, не без какой-либо подготовки. Если при сжатии вы периодически используете Z_FULL_FLUSH, внимательно напишите все ожидающиеданные в этих точках и хранить индекс этих мест, затем вы можете начать декомпрессию в этих точках.Вы должны быть осторожны, чтобы не использовать Z_FULL_FLUSH слишком часто, так как это может значительно ухудшить сжатие.Кроме того, вы можете отсканировать поток дефлята один раз, чтобы сгенерировать индекс, а затем использовать этот индекс для произвольного доступа.Смотрите примеры / zran.c.
Z_FULL_FLUSH