string - Nodejs中使用zlib对数据进行压缩和解压

标签 string node.js compression zlib

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

我是 Nodejs 的新手,我还不确定如何使用缓冲区和流。

我的简单场景是一个字符串变量,我想将字符串压缩或解压缩(放气或膨胀、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 年遇到此问题的任何人(并且想知道如何将压缩数据序列化为字符串而不是文件或缓冲区) - 看起来 zlib(自 Node 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()

关于string - Nodejs中使用zlib对数据进行压缩和解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7625251/

相关文章:

mysql - 压缩一个mysql分区

java - 在字符串中,如何分离并存储字符和整数?

java - 一次搜索字符串中的多个字母

c - 从给定参数的文件中反转行

javascript - 将项目从异步函数追加到数组

javascript - 如何为 SFTP 服务器实现 for 循环

视频压缩 : What is discrete cosine transform?

c# - 应用程序设置中的 StringCollection 未存储

javascript - Node.js 连接到 mongodb

algorithm - 识别二进制文件中的算法