zlib — דחיסה ופריסה של zlib¶
מודול זה מאפשר דחיסה ופריסה של נתונים בינאריים באמצעות אלגוריתם DEFLATE (בשימוש נפוץ בספריית zlib ובכלי הארכוב gzip).
הערה
העדיפו להשתמש ב-deflate.DeflateIO במקום בפונקציות שבמודול זה, מאחר שהוא מספק ממשק זורם לדחיסה ולפריסה הנוח וחסכוני יותר בזיכרון בעת קריאה או כתיבה של נתונים דחוסים לקובץ, לסוקט או לזרם.
זמינות:
מודול זה אינו כלול ב-OpenMV Cam כברירת מחדל, מאחר שהוא משכפל פונקציונליות שכבר מסופקת על ידי המודול
deflate.ניתן להתקין עותק (או להקפיא אותו לתוך קושחה מותאמת אישית) מתוך micropython-lib (מקור). ראו ניהול חבילות למידע נוסף. תיעוד זה מתאר את אותו מודול.
הוא מסתמך על המודול המובנה
deflate, הקיים בכל מצלמות OpenMV Cam.דחיסה זמינה רק אם דחיסה זמינה במודול המובנה
deflate– כלומר, לא במצלמות OpenMV Cam מבוססות STM32 (ראו את הערת הזמינות שלו לעיל).
פונקציות¶
- zlib.decompress(data: bytes, wbits: int = 15, /) bytes¶
פורס את data לאובייקט bytes.
הפרמטר wbits פועל באותו אופן כמו עבור
zlib.compress()עם הערכים התקפים הנוספים הבאים:0: קביעה אוטומטית של גודל החלון מכותרת ה-zlib (data חייב להיות בפורמט zlib).35עד47: זיהוי אוטומטי של פורמט zlib או gzip.
כמו עבור
zlib.compress(), ראו אתתיעוד CPython עבור zlibלמידע נוסף על הפרמטר wbits. כמו עבורzlib.compress(), MicroPython תומכת גם בגדלי חלון קטנים יותר מ-CPython. ראו פרטים ספציפיים ל-MicroPython נוספים בתיעוד המודולdeflate.אם הנתונים שיש לפרוס דורשים גודל חלון גדול יותר, הפעולה תיכשל במהלך הפריסה.
- zlib.compress(data: bytes, wbits: int = 15, /) bytes¶
דוחס את data לאובייקט bytes.
wbits מאפשר לכם להגדיר את גודל חלון מילון ה-DEFLATE ואת פורמט הפלט. גודל החלון מאפשר לכם לאזן בין שימוש בזיכרון לבין רמת הדחיסה. גודל חלון גדול יותר יאפשר לדחסן להפנות לקטעים רחוקים יותר אחורה בקלט. פורמטי הפלט הם DEFLATE ”גולמי“ (ללא כותרת/כותרת תחתית), zlib ו-gzip, כאשר שני האחרונים כוללים כותרת וסכום ביקורת.
ארבעת הביטים הנמוכים של הערך המוחלט של wbits קובעים את הלוגריתם בבסיס 2 של גודל חלון מילון ה-DEFLATE. כך למשל,
wbits=10,wbits=-10ו-wbits=26כולם קובעים את גודל החלון ל-1024 בתים. גדלי החלון התקפים הם5עד15כולל (התואמים ל-32 עד 32k בתים).ערכים שליליים של wbits בין
-5ל--15תואמים למצב פלט ”גולמי“, ערכים חיוביים בין5ל-15תואמים למצב פלט zlib, וערכים חיוביים בין21ל-31תואמים למצב פלט gzip.ראו את
תיעוד CPython עבור zlibלמידע נוסף על הפרמטר wbits. שימו לב ש-MicroPython מאפשרת גדלי חלון קטנים יותר, דבר השימושי כאשר הזיכרון מוגבל אך עדיין מושגת רמת דחיסה סבירה. הדבר גם מאיץ את הדחסן. ראו פרטים ספציפיים ל-MicroPython נוספים בתיעוד המודולdeflate.