zlib — zlib tömörítés és kicsomagolás¶
Ez a modul lehetővé teszi a bináris adatok tömörítését és kicsomagolását a DEFLATE algoritmussal (amelyet gyakran használnak a zlib könyvtárban és a gzip archiváló eszközben).
Megjegyzés
A modul függvényei helyett inkább a deflate.DeflateIO osztály használata javasolt, mivel az adatfolyam-alapú (streaming) interfészt biztosít a tömörítéshez és kicsomagoláshoz, ami kényelmes és memóriahatékonyabb, amikor tömörített adatokat olvasunk fájlból, socketből vagy adatfolyamból, illetve írunk azokba.
Elérhetőség:
Ez a modul alapértelmezetten nincs benne az OpenMV Cam eszközön, mivel olyan funkciókat duplikál, amelyeket a
deflatemodul már biztosít.Egy másolat telepíthető (vagy egyedi firmware-be fagyasztható) a micropython-lib készletből (forrás). További információért lásd a Csomagkezelés szakaszt. Ez a dokumentáció azt a modult írja le.
A beépített
deflatemodulra támaszkodik, amely minden OpenMV Cam eszközön jelen van.A tömörítés csak akkor érhető el, ha a tömörítés elérhető a beépített
deflatemodulban – vagyis nem az STM32-alapú OpenMV Cam eszközökön (lásd a fenti elérhetőségi megjegyzést).
Függvények¶
- zlib.decompress(data: bytes, wbits: int = 15, /) bytes¶
Kicsomagolja a data adatot egy bytes objektummá.
A wbits paraméter ugyanúgy működik, mint a
zlib.compress()esetében, a következő további érvényes értékekkel:0: Automatikusan meghatározza az ablakméretet a zlib fejlécből (a data adatnak zlib formátumúnak kell lennie).35és47között: Automatikusan felismeri akár a zlib, akár a gzip formátumot.
Akárcsak a
zlib.compress()esetében, a wbits paraméterről további információért lásd aCPython zlib dokumentációját. Azlib.compress()függvényhez hasonlóan a MicroPython a CPython-nál kisebb ablakméreteket is támogat. További MicroPython-specifikus részletekért lásd adeflatemodul dokumentációját.Ha a kicsomagolandó adathoz nagyobb ablakméretre van szükség, a kicsomagolás során hibát fog jelezni.
- zlib.compress(data: bytes, wbits: int = 15, /) bytes¶
Tömöríti a data adatot egy bytes objektummá.
A wbits segítségével konfigurálható a DEFLATE szótár ablakmérete és a kimeneti formátum. Az ablakméret lehetővé teszi a memóriahasználat és a tömörítési szint közötti kompromisszumot. A nagyobb ablakméret lehetővé teszi a tömörítő számára, hogy a bemenetben távolabbra visszanyúló töredékekre hivatkozzon. A kimeneti formátumok a következők: „nyers” (raw) DEFLATE (fejléc/lábléc nélkül), zlib és gzip, ahol az utóbbi kettő fejlécet és ellenőrző összeget is tartalmaz.
A wbits abszolút értékének alsó négy bitje állítja be a DEFLATE szótár ablakméretének 2-es alapú logaritmusát. Így például a
wbits=10,wbits=-10éswbits=26egyaránt 1024 bájtra állítja az ablakméretet. Az érvényes ablakméretek5és15között vannak (a határokat beleértve), ami 32 és 32k bájtnak felel meg.A wbits
-5és-15közötti negatív értékei a „nyers” (raw) kimeneti módnak felelnek meg, az5és15közötti pozitív értékei a zlib kimeneti módnak, a21és31közötti pozitív értékei pedig a gzip kimeneti módnak.A wbits paraméterről további információért lásd a
CPython zlib dokumentációját. Vegye figyelembe, hogy a MicroPython kisebb ablakméreteket is megenged, ami hasznos, amikor a memória korlátozott, miközben még mindig ésszerű szintű tömörítést ér el. Ez a tömörítőt is felgyorsítja. További MicroPython-specifikus részletekért lásd adeflatemodul dokumentációját.