2015-01-31 1 views
1

Какой инструмент позволяет мне увидеть таблицу Хаффмана, создающую gzip и некоторые другие алгоритмы сжатия?Какой инструмент позволяет мне видеть таблицу и блоки Guff Gzip's?

Я знаю, что программы, такие как bzip2 и zpaq, используют дополнительные методы сжатия, но я считаю, что gzip, zip и lz-семейство программ используют таблицы Хаффмана, и я хотел бы их увидеть.

Я понимаю, что данный файл может иметь несколько таблиц Хаффмана, по одному для каждого «блока» данных.

+0

Не проблема программирования. Но почему вам нужно видеть таблицы? –

+1

Я пытаюсь создать/найти алгоритм, который сжимает несколько файлов хорошо, где файлы сильно избыточны друг с другом, но данный отдельный файл не является избыточным. Я хочу сделать это БЕЗ tar-ring файлов в один архив: я хочу, чтобы они были разделены. Я считаю, что таблицы gzip могут помочь мне сделать это. Поскольку я использую эту информацию для создания новой проблемы, я надеюсь, что она будет квалифицироваться как проблема программирования. – barrycarter

ответ

1

infgen покажет вам динамические заголовки блоков в деталях. infgen -d покажет вам их во всех деталях.

Я не знаю, что это поможет с тем, что вы пытаетесь сделать. Это похоже на то, что вы ищете, это предустановленные словари. В zlib вы можете использовать deflateSetDictionary() и inflateSetDictionary() для обеспечения до 32K, что фактически предшествует сжатым данным и предоставляет исходный материал для поиска соответствующих строк. Если ваши файлы схожи, вы можете создать словарь или несколько словарей, которые могут иметь строки, соответствующие вашим данным.

Таблицы Хаффмана уникально построены для того, чтобы быть оптимальными для каждого блока, поэтому он уменьшит, а не улучшит сжатие, чтобы применять таблицы Хаффмана из другого блока.

Смежные вопросы