px普贤教程PuXian
普贤教程 › 包参考

lz4 包

LZ4 block 格式压缩(纯 .px 实现)

项值
包名lz4
版本0.2.0
可用版本0.1.0 / 0.2.0
入口lz4.px
分类数据格式与编解码
文件数 / 行数1 / 159

安装与引入

bash
pxpkg init          # 首次
pxpkg add lz4@0.2.0
pxpkg install
px
import lz4
所属分类教程:数据格式与编解码

公开接口

函数参数
lz_compressdata
lz_decompressdata
其余 7 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
lz_keydata, i
lz_bytev
lz_match_lendata, a, b, n
lz_flushout, data, ls, pos, offset, mlen, has_match
lz_compress_strings
lz_decompress_stringdata
lz_ratioorig_len, comp_len

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/lz4 —— LZ4 block 格式压缩(纯 .px 实现)
------------------------------------------------------------
纯函数库(无 IO、无状态、无并发),编译(px build)与解释(px run)双模式一致。
对应缺口表「zstd/lz4/brotli/bzip2/xz 压缩族」中 lz4 项:
lz_compress(data)   → Ok(bytes)   LZ4 block 压缩(贪心匹配 + 4 字节哈希)
lz_decompress(data) → Ok(bytes) | Err   LZ4 block 解压(兼容任意合法 block)
说明:
- block 格式(无 size 头),与 Python lz4.block(store_size=False)互通
- 解压兼容任何合法 LZ4 block(python lz4.block.compress 输出已验证)
- 编码:4 字节哈希表贪心最长匹配;遵守「末尾≥5 字面量」约定;小输入/解释轨性能有限
- 输入/输出均为 bytes;对比用 bytes_to_hex
============================================================
4 字节 → 哈希键(小端 int)