Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kompressionsalgorithmus gesucht (https://www.delphipraxis.net/4599-kompressionsalgorithmus-gesucht.html)

CalganX 5. Mai 2003 21:44


Kompressionsalgorithmus gesucht
 
Hi,
ich suche derzeit einen ordentlichen (guten und schnellen) Kompressionsalgorithmus.
Ich habe mir für Delphi bereits einige Komponenten angesehen, die zip verwenden. Allerdings ist mir zip zu "normal" (benutzt jeder).

Kennt jemand vielleicht einen schnellen, der Dateien auch sehr klein bekommt!?

Chris

PS: Die Frage ist nicht auf Delphi bezogen!
PPS: Codebeispiele erwünscht... ;) C/C++, C# und Delphi sind erlaubt.

tommie-lie 5. Mai 2003 22:57

Der beste mir bekannte (besser als der von PKZIP verwendete), der auch praktikabel ist, ist bzip2.
Eine entsprechende Unit für Delphi bekommt man bei Torry.
Anzuwenden ist sie wie die zlib von Delphi, nur eben mit anderen Namen und besserer komprimierung. Ähnlich wie ZIP- und die gnuzip-Komprimierung ist bzip2 für nur einen Datenstrom ausgelegt, willst du mehrere Dateien in ein Archiv packen, musst du also ähnlich wie bei PKZIP einen selbstgebastelten Header benutzen, indem du deine Daten über die Dateien schreibst.

edit: ich erinnere mich vage an einen c't-Artikel über Komprimierung, ich glaube die Namen Burrows und Wheeler fielen dort. Danach könntest du mal googlen, ob es fertige Implementationen gibt, weiß ich nciht mehr, ich weiß auch nicht mehr genau was es war (könnte mich aber auf Anfrage in den Dschungel meines Regales begeben...)

edit2: Gerade getestet mit einer knapp 100kb kleine, einfach gestrickten BMP-Datei:
- GNUZip: 3046 kb
- zLib: 3136 kb
- RAR: 3305 kb (Multimedia-Kompression dekativiert)
- bzip2: 2202 kb

wo0zy 5. Mai 2003 23:02

schau doch mal bei lucki auf die seite(lucki-online) ich glaub da war auch sowas mit beispielscource. bin mir aber nicht zu 100% sicher. ansonsten hatte ich hier vorhin so einen thread da hat jemand so ein toll veröffentlich das hieß wenn mich nich alles täuscht paranoia, da wurde auch mit kompression gearbeitet, der logarithmus wurde meines wissens auch genannt

tommie-lie 5. Mai 2003 23:12

Bei Paranoia wurde die zLib benutzt und bei luckie-online.de gibt's nur einen RSA-DLL-Wrapper (interessant für deinen anderen Topic, Chakotay)

CalganX 6. Mai 2003 14:17

Hi,
ich werde mir mal den bzip2-Algorithmus ansehen. Den hat mir auch ein Kollege heute empfohlen...
Danke für eure Hinweise/Ideen!

Chris

OrallY 8. Mai 2003 14:12

Ja, Paranoia benutzt die ZLib. Ich teste aber z.Z. verschiedenen Implementierungen, da ich fand, das die ZLib recht langsam arbeitet. BZip wird häufig empfohlen. Ich hab da auch mal eine Kompo bei Torry gefunden die sich DelphifastZLib nennt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz