首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Nodejs中使用zlib实现数据的压缩和解压缩

在Nodejs中使用zlib实现数据的压缩和解压缩
EN

Stack Overflow用户
提问于 2011-10-02 16:10:10
回答 1查看 82.2K关注 0票数 32

有人能给我解释一下在Nodejs中zlib库是如何工作的吗?

我是Nodejs的新手,我还不确定如何使用buffers和streams。

我的简单场景是一个字符串变量,我希望将字符串压缩或解压缩(压缩或膨胀,gzip或gunzip等)到另一个字符串。

即(我期望它是如何工作的)

代码语言:javascript
复制
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";

感谢您的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2016-10-01 06:31:55

对于2016年发现这一点的任何人(也想知道如何将压缩数据序列化为字符串,而不是文件或缓冲区)- zlib (从节点0.11开始)现在提供了不需要回调的函数的同步版本:

代码语言:javascript
复制
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);

语法已简单地更改为:

代码语言:javascript
复制
var inflated = zlib.inflateSync(Buffer.from(deflated, 'base64')).toString()
票数 67
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7625251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档