当前位置: 首页 > news >正文

LuatOS-SOC接口文档(air780E)-- fastlz - FastLZ压缩

示例

-- 与miniz库的差异
-- 内存需求量小很多, miniz库接近200k, fastlz只需要32k+原始数据大小
-- 压缩比, miniz的压缩比要好于fastlz-- 准备好数据
local bigdata = "123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw"
-- 压缩之
local cdata = fastlz.compress(bigdata) 
-- lua 的 字符串相当于有长度的char[],可存放包括0x00的一切数据
if cdata then-- 检查压缩前后的数据大小log.info("fastlz", "before", #bigdata, "after", #cdata)log.info("fastlz", "cdata as hex", cdata:toHex())-- 解压, 得到原文local udata = fastlz.uncompress(cdata)log.info("fastlz", "udata", udata)
end

fastlz.compress(data, level)

快速压缩

参数

传入值类型

解释

string

待压缩的数据, 少于400字节的数据不建议压缩, 且压缩后的数据不能大于32k

int

压缩级别,默认1, 可选1或者2, 2的压缩比更高(有时候)

返回值

返回值类型

解释

string

若压缩成功,返回数据字符串, 否则返回nil

例子

-- 注意, 压缩过程的内存消耗如下
-- 系统内存, 固定32k
-- lua内存, 原始数据的大小的1.05倍,最小占用1024字节.

fastlz.uncompress(data, maxout)

快速解压

参数

传入值类型

解释

string

待解压的数据

int

解压后的最大大小, 默认是4k, 可按需调整

返回值

返回值类型

解释

string

若解压成功,返回数据字符串, 否则返回nil

例子

http://www.lryc.cn/news/175648.html

相关文章:

  • MySQL表的增删改查(进阶)
  • Greenplum实用工具-gpfdist
  • axios和fetch的区别
  • HTML那些重要的知识点
  • 《优化接口设计的思路》系列:第四篇—接口的权限控制
  • BI系统上的报表怎么导出来?附方法步骤
  • 电脑WIFI突然消失
  • http的get与post
  • MySQL 8 和 MySQL 5.7 在自增计数上的区别
  • Linux系统之links和elinks命令的基本使用
  • 【00】FISCO BCOS区块链简介
  • NPDP产品经理认证怎么报名?考试难度大吗?
  • 免杀技术,你需要学习哪些内容
  • odoo16 取消“系统各功能状态日报”的邮件
  • [C++ 网络协议] Windows中的线程同步
  • JavaScript 基础第三天笔记
  • NebulaGraph实战:3-信息抽取构建知识图谱
  • 一百八十二、大数据离线数仓完整流程——步骤一、用Kettle从Kafka、MySQL等数据源采集数据然后写入HDFS
  • 工具篇 | H2数据库的使用和入门
  • PHP脚本导出MySQL数据库
  • 生成随机单据号
  • 【计算机网络笔记五】应用层(二)HTTP报文
  • 安装Python3.x--Windows
  • 坐标休斯顿,TDengine 受邀参与第九届石油天然气数字化大会
  • labview 混合信号图 多曲线分组
  • 客户端负载均衡_负载均衡策略
  • 使用Python+Flask/Moco框架/Fiddler搭建简单的接口Mock服务
  • 【Vue】Mock.js介绍和使用与首页导航栏左侧菜单搭建
  • 离散小波变换(概念与应用)
  • 代码随想录day49:动态规划part10