Moin!
gibt es einen PI*Daumen Wert für die Kompressionsrate bz2 von ASCII-codierten Files, mit dem man rechnen kann?
0%.
Das ist entmutigend.
Kein verlustfreies Kompressionsschema kann dir irgendeine Verdichtungsrate garantieren, das ist immer vom Inhalt abhängig. Weil es von den konkreten Daten abhängt, ob es Redundanzen gibt, die man durch geschickteres Codieren eliminieren kann.
Eine allgemeine Methode wie gzip oder bzip2 ist dabei speziellen Methoden für ganz bestimmte Datentypen, wie z.B. FLAC für Audiodaten, eventuell unterlegen.
Es hängt auch immer davon ab, wieviele Daten zu komprimieren sind. Je größer die Datenmenge, desto größer die Chance für entdeckbare Redundanzen. Eine Datei mit genau einem Byte Inhalt ist nicht komprimierbar. Eine Datei mit dem Text von "Faust" hingegen enthält mit Sicherheit viele Worte, die sich wiederholen und somit komprimiert werden können. Die Startseite dieses Forums enthält soviele Wiederholungen im Quelltext (Links und IMG-Tags, aber natürlich auch alle anderen HTML-Tags), dass der Quelltext mit gzip um 85-90% geschrumpft werden kann.
Das Kompressionsresultat hängt dabei natürlich von unterschiedlichen Aspekten ab. Ein Text, der ausschließlich in 7-Bit-ASCII geschrieben ist, enthält z.B. durchgehend ein ungenutztes Bit - man kann also mindestens dieses Bit durch Umcodierung einsparen und so 1/8 der Datenmenge reduzieren. gzip und bzip2 arbeiten anders, aber das Prinzip sollte klar werden.
- Sven Rautenberg
My sssignature, my preciousssss!