Вам не нужно распаковывать его, это должен быть файл png, который можно использовать как есть, если только вы не делаете что-то не так. Образ не изменяется, только двоичное представление на диске.
Нет способа перейти к исходному файлу, вы можете повторно сжать его, но вам нужно знать библиотеку, использованную для его создания, а такжеуровень сжатия и другие параметры, использованные для его создания (фильтры, стратегия дефляции, размер скользящего окна, ... большинство файлов PNG создаются со значениями по умолчанию, но не со всеми). Обычно в этом нет необходимости, но если вам нужно сохранить исходный файл (например, чтобы он соответствовал контрольной сумме md5), вам не следует использовать zopfli.
Редактировать: есть два общих определения сжатия без потерь:
- Возможность воссоздать точную битовую копию входного файла.
- Возможность восстановить содержимое входного файла без изменений. Точное битовое воспроизведение входного файла не является целью.
Общее сжатие файлов использует первое определение. Если вы заархивируете файл .jpg, вы сможете получить точно такой же файл .jpg.
Сжатие без потерь для конкретного домена обычно использует второе определение, если вы создаете файл PNG из JPEG, вы не сможете восстановить исходный файл JPEG (даже если вы знаете, что оригинал был изображением JPEG), но исходный JPEG и PNG будут иметь абсолютно одинаковые данные изображения, но все называют PNG без потерь.
Если вы рассматриваете программу, которая использует Zopfli для уменьшения размера файлов PNG, как «компрессор файлов PNG», тоне будет без потерь, используя общее определение, но оно будет использовать специфичное для домена. Если программа утверждает, что сжимает изображение без потерь, а не файл, то нет никакой двусмысленности, это второе определение. Если программа заявляет, что она является оптимизатором без потерь, это также второе определение, двусмысленности нет.