2016-07-27 24 views
-1

Ich komprimiere mehrere lange Strings mit ZLIB, die LZ77 Darstellungen von wiederholten Teilstrings vor der Codierung dieser Darstellungen mit einem Huffman-Baum verwendet. Ich bin daran interessiert, die Sequenz von Integer-Tupel-Repräsentationen selbst zu untersuchen, und habe in den Code hineingeschaut, um herauszufinden, wo diese erzeugt werden und wie ich sie nacheinander ausdrucken könnte. Leider bin ich nicht sehr stark in C, und es scheint, dass der Kompressor Entfernungen als Zeiger behandelt, und nicht als Ints. Könnte mir bitte jemand sagen, ob es eine einfache Möglichkeit gibt, die Sequenz von Tupeln auszudrucken, während der Algorithmus läuft, und mich auf die entsprechende Stelle im Code zu verweisen.Wie bekomme ich <Abstand, Länge> Paare von ZLIB Kompressor

Antwort

1

Sie können infgen verwenden, um einen Deflate-Stream zu zerlegen. Es wird die decodierten Symbole in einer lesbaren Form, z. match 41 105 zeigt eine Zeichenfolge zum Kopieren der Länge 41, aus einer Entfernung von 105 zurück.

+0

Danke - sieht so aus. –