MicroPython:Библиотеки/uzlib: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Модуль uzlib – библиотека zlib для сжатия данных<ref>[http://docs.micropython.org/en/latest/library/uzlib.html docs.micropython.org - uzlib – zlib decompression]</ref>= | |||
В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле [https://docs.python.org/3.5/library/zlib.html#module-zlib zlib]. | |||
Этот модуль позволяет распаковывать двоичные данные, сжатые при помощи [https://ru.wikipedia.org/wiki/Deflate алгоритма DEFLATE] (который обычно используется в библиотеке «zlib» и архиваторе gzip). Само сжатие пока не реализовано. | |||
== Функции == | |||
* uzlib.decompress(data, wbits=0, bufsize=0, /) – возвращает распакованные данные data и возвращает их в виде объекта bytes. Значение в аргументе wbits – это размер окна словаря DEFLATE, используемый во время сжатия (8-15; размер словаря будет степенью двойки от этого числа). Кроме того, если это положительное значение, data будет считаться zlib-потоком (со zlib-заголовком). Но если оно будет отрицательным, data будет считаться «сырым» DEFLATE-потоком. Аргумент bufsize нужен для совместимости с CPython и игнорируется. | |||
* Класс uzlib.DecompIO(stream, wbits=0, /) – создает оберточный потоковый объект, позволяющий делать прозрачную распаковку сжатых данных в другой поток. Это позволяет обрабатывать сжатые потоки с данными, чей размер превышает размер кучи. Вдобавок к значениям, описанным в decompress(), здешний аргумент wbits также поддерживает значения в диапазоне 23-31 (16 + 8...15), что значит, что у входного потока есть gzip-заголовок. | |||
Отличие от CPython: Этот класс – расширение MicroPython. Он добавлен временно и в будущих версиях, возможно, будет либо сильно изменен или вовсе удален. | |||
<syntaxhighlight lang="python" enclose="div"> | <syntaxhighlight lang="python" enclose="div"> |
Текущая версия от 19:58, 2 сентября 2020
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Модуль uzlib – библиотека zlib для сжатия данных[1]
В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле zlib. Этот модуль позволяет распаковывать двоичные данные, сжатые при помощи алгоритма DEFLATE (который обычно используется в библиотеке «zlib» и архиваторе gzip). Само сжатие пока не реализовано.
Функции
- uzlib.decompress(data, wbits=0, bufsize=0, /) – возвращает распакованные данные data и возвращает их в виде объекта bytes. Значение в аргументе wbits – это размер окна словаря DEFLATE, используемый во время сжатия (8-15; размер словаря будет степенью двойки от этого числа). Кроме того, если это положительное значение, data будет считаться zlib-потоком (со zlib-заголовком). Но если оно будет отрицательным, data будет считаться «сырым» DEFLATE-потоком. Аргумент bufsize нужен для совместимости с CPython и игнорируется.
- Класс uzlib.DecompIO(stream, wbits=0, /) – создает оберточный потоковый объект, позволяющий делать прозрачную распаковку сжатых данных в другой поток. Это позволяет обрабатывать сжатые потоки с данными, чей размер превышает размер кучи. Вдобавок к значениям, описанным в decompress(), здешний аргумент wbits также поддерживает значения в диапазоне 23-31 (16 + 8...15), что значит, что у входного потока есть gzip-заголовок.
Отличие от CPython: Этот класс – расширение MicroPython. Он добавлен временно и в будущих версиях, возможно, будет либо сильно изменен или вовсе удален.
<syntaxhighlight lang="python" enclose="div">