zlib — zlib sıkıştırma & açma

Bu modül, ikili verilerin DEFLATE algoritması (genellikle zlib kitaplığında ve gzip arşivleyicisinde kullanılır) ile sıkıştırılmasına ve açılmasına olanak tanır.

Not

Bu modüldeki işlevler yerine deflate.DeflateIO kullanmayı tercih edin; çünkü o, sıkıştırılmış verileri bir dosyaya, sokete ya da akışa okurken veya yazarken kullanışlı ve daha bellek verimli olan, sıkıştırma ve açmaya yönelik bir akış arayüzü sağlar.

Kullanılabilirlik:

  • Bu modül, deflate modülü tarafından zaten sağlanan işlevselliği yinelediğinden, varsayılan olarak OpenMV Cam’a dahil edilmez.

  • Bir kopya micropython-lib‘den (kaynak) kurulabilir (ya da özel aygıt yazılımına (firmware) gömülebilir). Daha fazla bilgi için bkz. Paket yönetimi. Bu belge o modülü açıklar.

  • Tüm OpenMV Cam’larda bulunan yerleşik deflate modülüne dayanır.

  • Sıkıştırma yalnızca yerleşik deflate modülünde sıkıştırma mevcutsa kullanılabilir – yani STM32 tabanlı OpenMV Cam’larda kullanılamaz (yukarıdaki kullanılabilirlik notuna bakın).

İşlevler

zlib.decompress(data: bytes, wbits: int = 15, /) bytes

data‘yı bir bytes nesnesine açar.

wbits parametresi, aşağıdaki ek geçerli değerlerle birlikte zlib.compress() için olduğu gibi çalışır:

  • 0: Pencere boyutunu zlib başlığından otomatik olarak belirler (data zlib biçiminde olmalıdır).

  • 35 ila 47: Zlib ya da gzip biçimini otomatik algılar.

zlib.compress() için olduğu gibi, wbits parametresi hakkında daha fazla bilgi için bkz. zlib için CPython belgeleri. zlib.compress() için olduğu gibi, MicroPython da CPython’dan daha küçük pencere boyutlarını destekler. Daha fazla MicroPython’a özgü ayrıntı için deflate modülü belgelerine bakın.

Açılacak veri daha büyük bir pencere boyutu gerektiriyorsa, açma sırasında başarısız olur.

zlib.compress(data: bytes, wbits: int = 15, /) bytes

data‘yı bir bytes nesnesine sıkıştırır.

wbits, DEFLATE sözlük pencere boyutunu ve çıktı biçimini yapılandırmanıza olanak tanır. Pencere boyutu, bellek kullanımını sıkıştırma düzeyiyle dengelemenize olanak verir. Daha büyük bir pencere boyutu, sıkıştırıcının girdide daha geriye giden parçalara başvurmasına izin verir. Çıktı biçimleri “ham” DEFLATE (başlık/altbilgi yok), zlib ve gzip’tir; son ikisi bir başlık ve sağlama toplamı içerir.

wbits‘in mutlak değerinin alt dört biti, DEFLATE sözlük pencere boyutunun 2 tabanındaki logaritmasını belirler. Yani örneğin, wbits=10, wbits=-10 ve wbits=26 değerlerinin tümü pencere boyutunu 1024 bayt olarak ayarlar. Geçerli pencere boyutları 5 ila 15 arasıdır (dahil) (32 ila 32k bayta karşılık gelir).

wbits‘in -5 ile -15 arasındaki negatif değerleri “ham” çıktı moduna, 5 ile 15 arasındaki pozitif değerleri zlib çıktı moduna ve 21 ile 31 arasındaki pozitif değerleri gzip çıktı moduna karşılık gelir.

wbits parametresi hakkında daha fazla bilgi için bkz. zlib için CPython belgeleri. MicroPython’ın daha küçük pencere boyutlarına izin verdiğini unutmayın; bu, bellek kısıtlı olduğunda makul düzeyde bir sıkıştırma elde ederken yararlıdır. Ayrıca sıkıştırıcıyı hızlandırır. Daha fazla MicroPython’a özgü ayrıntı için deflate modülü belgelerine bakın.