📅  最后修改于: 2023-12-03 15:17:56.473000             🧑  作者: Mango
在 Node.js 中,zlib 模块提供了一系列的压缩与解压缩功能。其中,zlib.gunzipSync() 方法用于解压缩数据。
zlib.gunzipSync(buffer[, options])
参数说明:
buffer
: 待解压缩的数据,必须是 Buffer 类型。options
:可选,对象类型,支持以下属性:chunkSize
:指定解压缩时一次操作的字节数,默认为 16 * 1024
。返回值:解压缩后的数据,类型为 Buffer。
const zlib = require('zlib');
const compressed = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');
const uncompressed = zlib.gunzipSync(compressed);
console.log(uncompressed.toString()); // "Hello, world!"
在上面的示例中,我们使用 base64 编码的字符串作为压缩数据,先将其转换成 Buffer 类型,并通过 zlib.gunzipSync() 方法解压缩。最终输出的是解压缩后的字符串 "Hello, world!"。
zlib.gunzipSync() 方法是同步的,如果处理的数据较大,可能会阻塞线程。
如果待解压缩的数据不是压缩过的,则会抛出 Z_DATA_ERROR
错误。