zlib — zlib kompresija i dekompresija¶
Ovaj modul omogućuje kompresiju i dekompresiju binarnih podataka pomoću DEFLATE algoritma (uobičajeno korištenog u zlib biblioteci i gzip arhivaru).
Napomena
Preferirajte korištenje deflate.DeflateIO umjesto funkcija iz ovog modula jer pruža tokovno sučelje za kompresiju i dekompresiju koje je pogodno i memorijski učinkovitije pri radu s čitanjem ili pisanjem komprimiranih podataka u datoteku, utičnicu ili tok.
Dostupnost:
Ovaj modul nije uključen na OpenMV Cam-u prema zadanim postavkama jer duplicira funkcionalnost koju već pruža modul
deflate.Kopija se može instalirati (ili zamrznuti u prilagođeni ugrađeni program (firmware)) iz micropython-lib (izvor). Pogledajte Upravljanje paketima za više informacija. Ova dokumentacija opisuje taj modul.
Oslanja se na ugrađeni modul
deflate, koji je prisutan na svim OpenMV Cam-ovima.Kompresija je dostupna samo ako je kompresija dostupna u ugrađenom modulu
deflate– to jest, ne na OpenMV Cam-ovima temeljenima na STM32 (pogledajte napomenu o dostupnosti iznad).
Funkcije¶
- zlib.decompress(data: bytes, wbits: int = 15, /) bytes¶
Dekomprimira data u bytes objekt.
Parametar wbits radi na isti način kao za
zlib.compress()uz sljedeće dodatne valjane vrijednosti:0: Automatski određuje veličinu prozora iz zlib zaglavlja (data mora biti u zlib formatu).35do47: Automatski prepoznaje zlib ili gzip format.
Kao i za
zlib.compress(), pogledajteCPython dokumentaciju za zlibza više informacija o parametru wbits. Kao i zazlib.compress(), MicroPython također podržava manje veličine prozora od CPythona. Pogledajte više pojedinosti specifičnih za MicroPython u dokumentaciji moduladeflate.Ako podaci koji se dekomprimiraju zahtijevaju veću veličinu prozora, dekompresija će propasti.
- zlib.compress(data: bytes, wbits: int = 15, /) bytes¶
Komprimira data u bytes objekt.
wbits vam omogućuje konfiguriranje veličine prozora DEFLATE rječnika i izlaznog formata. Veličina prozora omogućuje vam kompromis između upotrebe memorije i razine kompresije. Veća veličina prozora omogućit će kompresoru da referencira fragmente dalje unatrag u ulazu. Izlazni formati su „sirovi” DEFLATE (bez zaglavlja/podnožja), zlib i gzip, pri čemu posljednja dva uključuju zaglavlje i kontrolni zbroj.
Donja četiri bita apsolutne vrijednosti wbits postavljaju logaritam po bazi 2 veličine prozora DEFLATE rječnika. Tako, na primjer,
wbits=10,wbits=-10iwbits=26svi postavljaju veličinu prozora na 1024 bajta. Valjane veličine prozora su5do15uključivo (što odgovara 32 do 32k bajtova).Negativne vrijednosti wbits između
-5i-15odgovaraju „sirovom” izlaznom načinu, pozitivne vrijednosti između5i15odgovaraju zlib izlaznom načinu, a pozitivne vrijednosti između21i31odgovaraju gzip izlaznom načinu.Pogledajte
CPython dokumentaciju za zlibza više informacija o parametru wbits. Imajte na umu da MicroPython dopušta manje veličine prozora, što je korisno kada je memorija ograničena, a istovremeno se postiže razumna razina kompresije. Također ubrzava kompresor. Pogledajte više pojedinosti specifičnih za MicroPython u dokumentaciji moduladeflate.