zlib — zlib-pakkaus ja -purku¶
Tämä moduuli mahdollistaa binääridatan pakkaamisen ja purkamisen DEFLATE-algoritmilla (jota käytetään yleisesti zlib-kirjastossa ja gzip-arkistointityökalussa).
Muista
Suosi deflate.DeflateIO:n käyttöä tämän moduulin funktioiden sijaan, sillä se tarjoaa virtauspohjaisen rajapinnan pakkaukseen ja purkuun, mikä on kätevä ja muistitehokkaampi tapa lukea tai kirjoittaa pakattua dataa tiedostoon, sokettiin tai virtaan.
Saatavuus:
Tämä moduuli ei ole oletusarvoisesti mukana OpenMV Camissa, koska se monistaa toiminnallisuuden, jonka
deflate-moduuli jo tarjoaa.Kopio voidaan asentaa (tai jäädyttää mukautettuun laiteohjelmistoon) lähteestä micropython-lib (lähde). Katso Pakettien hallinta saadaksesi lisätietoja. Tämä dokumentaatio kuvaa kyseistä moduulia.
Se nojaa sisäänrakennettuun
deflate-moduuliin, joka on saatavilla kaikissa OpenMV Cameissa.Pakkaus on käytettävissä vain, jos pakkaus on käytettävissä sisäänrakennetussa
deflate-moduulissa – eli ei STM32-pohjaisissa OpenMV Cameissa (katso sen saatavuushuomautus yllä).
Funktiot¶
- zlib.decompress(data: bytes, wbits: int = 15, /) bytes¶
Purkaa data:n bytes-objektiksi.
Parametri wbits toimii samalla tavalla kuin
zlib.compress():lle, seuraavin lisäkelvollisin arvoin:0: Määrittää ikkunan koon automaattisesti zlib-otsikosta (data:n täytyy olla zlib-muodossa).35–47: Tunnistaa automaattisesti joko zlib- tai gzip-muodon.
Kuten
zlib.compress():n kohdalla, katsoCPythonin zlib-dokumentaatiosaadaksesi lisätietoja wbits-parametrista. Kutenzlib.compress(), myös MicroPython tukee CPythonia pienempiä ikkunakokoja. Katso lisää MicroPython-kohtaisia yksityiskohtiadeflate-moduulin dokumentaatiosta.Jos purettava data vaatii suuremman ikkunakoon, purku epäonnistuu.
- zlib.compress(data: bytes, wbits: int = 15, /) bytes¶
Pakkaa data:n bytes-objektiksi.
wbits antaa sinun määrittää DEFLATE-sanakirjan ikkunakoon ja tulostusmuodon. Ikkunakoolla voit tehdä kompromissin muistinkäytön ja pakkaustason välillä. Suurempi ikkunakoko mahdollistaa pakkaajan viittaamisen kauemmas syötteessä taaksepäin oleviin fragmentteihin. Tulostusmuodot ovat ”raaka” DEFLATE (ei otsikkoa/alatunnistetta), zlib ja gzip, joista kaksi jälkimmäistä sisältävät otsikon ja tarkistussumman.
wbits:n itseisarvon neljä alinta bittiä asettavat DEFLATE-sanakirjan ikkunakoon kaksikantaisen logaritmin. Esimerkiksi
wbits=10,wbits=-10jawbits=26asettavat kaikki ikkunakooksi 1024 tavua. Kelvolliset ikkunakoot ovat5–15mukaan lukien (vastaten 32 tavusta 32 kilotavuun).wbits:n negatiiviset arvot väliltä
-5–-15vastaavat ”raakaa” tulostustilaa, positiiviset arvot väliltä5–15vastaavat zlib-tulostustilaa ja positiiviset arvot väliltä21–31vastaavat gzip-tulostustilaa.Katso
CPythonin zlib-dokumentaatiosaadaksesi lisätietoja wbits-parametrista. Huomaa, että MicroPython sallii pienemmät ikkunakoot, mikä on hyödyllistä muistin ollessa rajoitettu mutta saavuttaen silti kohtuullisen pakkaustason. Se myös nopeuttaa pakkaajaa. Katso lisää MicroPython-kohtaisia yksityiskohtiadeflate-moduulin dokumentaatiosta.