有人能给我解释一下在Nodejs中zlib库是如何工作的吗?
我是Nodejs的新手,我还不确定如何使用buffers和streams。
我的简单场景是一个字符串变量,我希望将字符串压缩或解压缩(压缩或膨胀,gzip或gunzip等)到另一个字符串。
即(我期望它是如何工作的)
var zlib = require('zlib');
var str = "this is a test string to be zipped";
var zip = zlib.Deflate(str); // zip = [object Object]
var packed = zip.toString([encoding?]); // packed = "packedstringdata"
var unzipped = zlib.Inflate(packed); // unzipped = [object Object]
var newstr = unzipped.toString([again - encoding?]); // newstr = "this is a test string to be zipped";
感谢您的帮助:)
发布于 2016-10-01 06:31:55
对于2016年发现这一点的任何人(也想知道如何将压缩数据序列化为字符串,而不是文件或缓冲区)- zlib (从节点0.11开始)现在提供了不需要回调的函数的同步版本:
var zlib = require('zlib');
var input = "Hellow world";
var deflated = zlib.deflateSync(input).toString('base64');
var inflated = zlib.inflateSync(new Buffer(deflated, 'base64')).toString();
console.log(inflated);
语法已简单地更改为:
var inflated = zlib.inflateSync(Buffer.from(deflated, 'base64')).toString()
https://stackoverflow.com/questions/7625251
复制相似问题