aardio 文档

zlib 库模块帮助文档

zlib 成员列表

zlib.ZLIB_VERSION

zlib 版本

zlib.compress(源数据,压缩级别)

源数据:需要压缩的数据(字符串类型)
压缩级别最快为1,最大压缩为9,默认值为8
返回压缩后的数据,第二个返回值为压缩前数据长度

zlib.compressBound(源数据大小)

提供源数据大小,计算压缩需要的缓冲区长度

zlib.gzCompress(源数据,压缩级别,压缩头格式)

压缩gzip数据
参数2指定压缩级别,最快速度为1,最大压缩率为9,默认为8
压缩头参数可以传入"gzip","zlib","raw"三种格式,"raw"表示不添加压缩头,
不指定参数时压缩头默认为"gzip"
新版不建议再用true表示"gzip",false表示"zlib"的兼容用法

返回压缩后的数据,第二个返回值为压缩前数据长度

zlib.gzFile("/路径.gz","ab")

追加到gzip压缩文件

zlib.gzFile("/路径.gz","rb")

打开只读gzip压缩文件

zlib.gzFile("/路径.gz","wb")

创建只写gzip压缩文件

zlib.gzFile("/路径.gz","wb9")

创建只写gzip压缩文件
可选用一个数值指定压缩级别,最快速度为1,最大压缩率为9,默认为8

zlib.gzFile()

返回对象:gzFileObject

zlib.gzUncompress(源数据,压缩头格式)

解压缩数据
压缩头参数可以传入"gzip","zlib","raw"三种格式,"raw"表示无压缩头,
不指定参数时压缩头默认为"gzip"
如果压缩头指定为"gzip",传入数据不含gzip头时直接返回传入数据,
新版不建议再用true表示"gzip",false表示"zlib"的兼容用法

zlib.streamReader()

返回对象:zlibStreamReaderObject

zlib.streamReader(压缩头格式,缓冲区大小)

创建解压内存流对象,所有参数可选
压缩头参数可以传入"gzip","zlib","raw"三种格式,"raw"表示无压缩头,
不指定参数时压缩头默认为"gzip",
新版不建议再用true表示"gzip",false表示"zlib"的兼容用法

zlib.streamWriter()

返回对象:zlibStreamWriterObject

zlib.streamWriter(压缩级别,压缩头格式,缓冲区大小)

创建压缩内存流对象,所有参数可选,
压缩级别,最快速度为1,最大压缩率为9,默认为8
压缩头参数可以传入"gzip","zlib","raw"三种格式,"raw"表示不添加压缩头,
不指定参数时压缩头默认为"gzip"
新版不建议再用true表示"gzip",false表示"zlib"的兼容用法

zlib.uncompress(源数据)

源数据为 gzip 或 zlib 格式压缩数据

zlib.uncompress(源数据,解压后大小)

源数据为zlib格式压缩数据
指定解压后大小仅支持zlib格式

zlib.z_stream(缓冲区大小)

z_stream 结构体,raw.struct 对象。

gzFileObject 成员列表

gzFileObject.close()

关闭文件

gzFileObject.read(-1)

读取到文件尾,成功返回所有解压数据。
也可指定要读取的数据长度

gzFileObject.read(0)

检测是否到文件尾

gzFileObject.read({int data=1234})

参数可以是任意结构体
解压并填充该结构体

gzFileObject.readBuffer(buffer,读取长度)

参数必须是使用 buffer 对象
长度参数可选,默认为缓冲区长度
返回成功解压的字节长度

gzFileObject.seek("cur",偏移值)

在未压缩数据内移动指针位置,
参数2为相对于当前位置的偏移值,
返回指针位置

gzFileObject.seek("set",偏移值)

在未压缩数据内移动指针位置,
参数2为相对于文件开始处的偏移值,
返回指针位置

gzFileObject.size()

返回未压缩数据32位长度

gzFileObject.write({int data=1234})

压缩结构体并写入到压缩文件

gzFileObject.write(字符串)

压缩并写入到压缩文件

gzFileObject.writeBuffer(buffer,写入长度)

压缩并写入到压缩文件
参数一必须是使用 buffer 对象
长度参数可选,默认为缓冲区长度.

zlibStreamReaderObject 成员列表

zlibStreamReaderObject.colse()

完成压缩,返回剩余解压数据

zlibStreamReaderObject.getStream()

返回 z_stream 结构体,不可修改返回对象。

zlibStreamReaderObject.read(字符串)

解压并返回字符串。
也有可能返回 null 值,直到传入参数为 null 以指定压缩完成
才返回压缩后的字符串。

失败则第 2 个返回值为错误代码。

zlibStreamStructObject 成员列表

zlibStreamStructObject.data_type

数据类型。
二进制文件为0,文本文件为 1。
不可修改该值

zlibStreamStructObject.total_in

总输入大小,不可修改该值。

zlibStreamStructObject.total_out

总输出大小,不可修改该值。

zlibStreamWriterObject 成员列表

zlibStreamWriterObject.colse()

完成压缩,并返回剩余压缩数据

zlibStreamWriterObject.getStream()

返回 z_stream 结构体,不可修改返回对象。

返回对象:zlibStreamStructObject

zlibStreamWriterObject.write(字符串)

压缩并返回压缩后的字符串,
有可能返回 null 值,直到传入参数为 null 以指定压缩完成
才返回压缩后的字符串。

失败则第 2 个返回值为错误代码。

自动完成常量

_Z_ASCII=1
_Z_BEST_COMPRESSION=9
_Z_BEST_SPEED=1
_Z_BINARY=0
_Z_BUF_ERROR=-5
_Z_DATA_ERROR=-3
_Z_DEFAULT_COMPRESSION=-1
_Z_DEFAULT_STRATEGY=0
_Z_DEFLATED=8
_Z_ERRNO=-1
_Z_FILTERED=1
_Z_FINISH=4
_Z_FULL_FLUSH=3
_Z_HUFFMAN_ONLY=2
_Z_MAX_WBITS=15
_Z_MEM_ERROR=-4
_Z_NEED_DICT=2
_Z_NO_COMPRESSION=0
_Z_NO_FLUSH=0
_Z_NULL=0
_Z_OK=0
_Z_PARTIAL_FLUSH=1
_Z_STREAM_END=1
_Z_STREAM_ERROR=-2
_Z_SYNC_FLUSH=2
_Z_UNKNOWN=2
_Z_VERSION_ERROR=-6

Markdown 格式