Как получить пары <расстояние, длина> из компрессора ZLIB

Я сжимаю несколько длинных строк, используя ZLIB, который использует LZ77 представления повторяющихся подстрок до кодирования этих представлений с использованием дерева Хаффмана. Я заинтересован в изучении последовательности представлений целочисленных кортежей и искал в коде, чтобы выяснить, где они генерируются и как я могу распечатать их одно за другим. К сожалению, я не очень силен в Си, и кажется, что компрессор обрабатывает расстояния как указатели, а не как целые. Может ли кто-нибудь сказать мне, если есть простой способ распечатать последовательность кортежей во время работы алгоритма, и указать мне соответствующее место в коде.

1 ответ

Решение

Вы можете использовать infgen, чтобы разобрать поток дефлята. Он будет печатать декодированные символы в удобочитаемой форме, например match 41 105 указание строки для копирования длиной 41 с расстояния до 105.

Другие вопросы по тегам