跳转至

zlib解压

一、ZLIB 解压工具简介

Zlib 解压工具是一个广泛使用的压缩和解压缩库,主要用于处理数据的压缩和解压缩任务。Zlib 使用的是 DEFLATE 算法,这是一种通用的压缩算法。它被应用在很多场景中,比如压缩文件、网络传输中的数据压缩、以及各种应用程序中的数据存储和读取。

Zlib 的代码库相对小巧,因此在嵌入式系统和资源受限的环境中也能很好地使用。

想了解更多细节可以自行在网上搜索。

二、演示功能概述

演示如何对数据压缩解压。

三、准备硬件环境

1. Air201 模组一个 2. 点击链接购买:合宙Air201模组淘宝购买链接 3. 此模组的详细使用说明参考:Air201 产品手册

3.2 数据通信线

typec 接口 USB 数据线即可。

3.3 PC 电脑

WIN10以及以上版本的WINDOWS系统。

四、准备软件环境

4.1 基本的下载调试工具

使用说明参考:Luatools 下载和详细使用

五、ZLIB 解压操作软硬件资料

5.1 文档和工具:

六、代码示例介绍

6.1 解压数据

先将压缩过的字符串进行 base64 解码,然后再解压:

-- 压缩过的字符串, 为了方便演示, 这里用了base64编码
-- 大部分MCU设备的内存都比较小, miniz.compress 通常在服务器端完成,这里就不演示了
-- miniz能解压标准zlib数据流
local b64str = "eAEFQIGNwyAMXOUm+E2+OzjhCCiOjYyhyvbVR7K7IR0l+iau8G82eIW5jXVoPzF5pse/B8FaPXLiWTNxEMsKI+WmIR0l+iayEY2i2V4UbqqPh5bwimyEuY11aD8xeaYHxAquvom6VDFUXqQjG1Fek6efCFfCK0b0LUnQMjiCxhUT05GNL75dFUWCSMcjN3EE5c4Wvq42/36R41fa"
local str = b64str:fromBase64()

local dstr = miniz.uncompress(str)
-- 压缩过的数据长度 156
-- 解压后的数据长度,即原始数据的长度 235
log.info("miniz", "compressed", #str, "uncompressed", #dstr)

七、功能验证

成功解压:

八、总结

本例程介绍了如何压缩和解压数据。

扩展

常见问题

1、解压数据不能超过多少?

解压后的数据不能大于 32k。