LINUX.ORG.RU

Как и чем узнать размер словаря ZIP-архива?

 , , , ,


0

1

Нужно убрать из ZIP-архива несколько файлов (UPD.: или наоборот добавить файлы, но чтоб были с таким же сжатием) и снова сжать оставшиеся тем же способом, каким был сжат оригинал. Эдакий воспроизводимый архив (reproducible archive).

Например, метод сжатия узнать можно каким-нибудь 7z l -slt archive.file | grep -e '^---' -e '^Path =' -e '^Method =', а вот как узнать размер словаря (dictionary size), используемого при сжатии?

Желателен конечно же user-friendly way, то бишь без курения спек и HEX-редактора.

★★★

Последнее исправление: mydibyje (всего исправлений: 2)

Понятие «размера словаря» неприменимо к архивам ZIP. «Словарное сжатие» и «размер скользящего окна» — расширения формата ZLIB.

Кроме того, каждый файл в ZIP-архиве сжимается независимо от остальных.

pasquale
()
Последнее исправление: pasquale (всего исправлений: 1)
Ответ на: комментарий от pasquale

Но ведь когда создаю ZIP-архив с помощью 7-Zip, я могу в окне выбрать значения для Dictionary size и для Word size, как так? 🤔 А вот как бы узнать у архива, с какими этими значениями он был сохранён…

@greenman Спасибо, это пригодится, а наоборот, добавить в архив можно командой zip archive.zip -g file.txt

mydibyje ★★★
() автор топика
Последнее исправление: mydibyje (всего исправлений: 1)
Ответ на: комментарий от mydibyje

«Размер словаря» там для красоты, а размер слова — внутренний параметр компрессора. В самом архиве такого не хранится (и из-за смехотворно низкого размера окна скорее всего на результат не влияет).

pasquale
()