Учитывая распакованный файл gzip, есть ли способ воссоздать точный оригинальный файл gzip? - PullRequest
1 голос
/ 08 августа 2010

Учитывая файл gzip Z, если я распакую его в Z ', есть ли способ, как я могу повторно сжать его, чтобы получить точный тот же файл gzip Z обратно? После беглого прочтения формата DEFLATE, я предполагаю, что нет, поскольку любой данный файл может иметь несколько представлений в формате потока DEFLATE, и нет способа определить, какой из них был первоначально использован. Кто-нибудь может подтвердить, правильны ли эти рассуждения, и если нет, указать, как я могу это сделать?

Для бонусных баллов, какие алгоритмы / форматы сжатия определены достаточно жестко, чтобы в файле было только одно сжатое представление?

Спасибо!

1 Ответ

2 голосов
/ 08 августа 2010

Определенно нет для gzip, если вы не знаете, какие инструменты и параметры задействованы (и, может быть, даже тогда).

Учитывая компромиссы, я не понимаю, почему это было бы желательно, так как пользователь не мог уравновесить различные проблемы. Я не хотел бы использовать те же параметры, которые используются для gzip на лету на веб-сервере для кодирования содержимого или передачи-кодирования, так же как и для архивирования большого архива, пока я счастлив в пабе, позволяя машине выполнять свою работу в одночасье .

...