Ich möchte mein Programm in der Lage sein, zlib, lzma, lzo und bzip2 Kompressionsalgorithmen zu verwenden.Multi-Algorithmus Kompressions-Bibliothek für C
Gibt es eine Komprimierungsbibliothek für C, die das Arbeiten mit mehreren Algorithmen vereinfacht (wie libmcrypt, das mehrere Verschlüsselungsmodi und Algorithmen unterstützt)?
Erwartung etwas wie folgt aus:
struct compressor c;
universal_compressor_init(&c, "lzma", 7 /* compression level */);
universal_compressor_compress(&c, inputbuf, inputsize, outputbuf, &outputsize);
universal_compressor_save_state(&c, statebuf, &statesize);
Hinweis: Es ist nicht etwa zip/rar/7z/tar/cpio und andere Archivformate geht es um Kompression von rohen Puffer. Denken Sie an das komprimierte Netzwerkprotokoll oder an den wahlfreien Zugriff auf ein komprimiertes Blockgerät (wie cloop).
Ist es für viele kleine unabhängige headerless komprimierte Puffer geeignet? –
Primäres Ziel von libarchive ist es, mit Archiven als Bündel von Dateien zu arbeiten, nicht als Komprimierung, die in ein Protokoll eingebettet ist. –
Kann ich libarchive Filter (ohne den Rest libarchive) mit der öffentlichen API von libarchive benutzen? –