Ich benutze MiniLZO für ein Projekt für einige wirklich einfache Kompressionsaufgaben. Ich komprimiere mit einem Programm und dekomprimiere mit einem anderen. Ich würde gerne wissen, wie viel Platz für den Dekompressionspuffer zu reservieren ist. Ich bin in Ordnung mit zu viel Speicherplatz, wenn es mir die Mühe ersparen kann, meine Ausgabedatei mit einer Ganzzahl zu kommentieren, die deklariert, wieviel Platz die dekomprimierten Daten nehmen sollten. Wie würde ich herausfinden, wie viel Platz es möglicherweise könnte?LZO Dekompressionspuffer Größe
Nach ein paar Überlegungen, ich denke, diese Frage läuft auf die folgenden: Was ist das maximale Kompressionsverhältnis von Lzo1x Kompression?
Dies ist auch ein guter Vorschlag, aber es fügt Anmerkungen hinzu - genau das, was ich vermeiden wollte. Daher kann ich auch meine Daten einfach in einem Block komprimieren (so wie sie bereits gespeichert sind) und sie mit der Blockgröße annotieren. – Benson
Ich dachte, Sie wollten nur vermeiden, die * dekomprimierte * Größe in der Ausgabe zu speichern. Ich glaube nicht, dass Sie vermeiden können, eine Art Blockende-Markierung zu speichern, es sei denn, Sie stellen sicher, dass die Eingangsblöcke immer kleiner als N Bytes sind. dann hat jeder komprimierte Stream genau einen Block, so dass Sie kein Trennzeichen benötigen. Oder Sie könnten den Dekompressor erweitern, um ein Teilergebnis und einen "mehr zu tun" -Code zurückzugeben, wenn er den Puffer füllt, so dass Sie ihn wiederholt aufrufen könnten, um die gesamte Eingabe zu dekomprimieren. –
Alle guten Vorschläge, aber ich denke, dass das Speichern der Größe des dekomprimierten Puffers einfacher wäre. Also, ich denke, die Antwort auf meine Frage ist "komm vorbei und notiere mit der dekomprimierten Größe". – Benson