Node.js中进行压缩数据的操作过程是什么
Admin 2022-08-13 群英技术资讯 321 次浏览
Node.js中提供了一个很好的库Zlib来压缩解压数据。
Zlib中有下面几个函数方便解压缩缓冲区.
它们的函数都是function(buffer,callback).
var zlib = require("zlib"); var input = '...............text...............'; zlib.deflate(input, function(err, buffer) { if (!err) { console.log("deflate (%s): ", buffer.length, buffer.toString('base64')); zlib.inflate(buffer, function(err, buffer) { if (!err) { console.log("inflate (%s): ", buffer.length, buffer.toString()); } }); zlib.unzip(buffer, function(err, buffer) { if (!err) { console.log("unzip deflate (%s): ", buffer.length, buffer.toString()); } }); } }); zlib.deflateRaw(input, function(err, buffer) { if (!err) { console.log("deflateRaw (%s): ", buffer.length, buffer.toString('base64')); zlib.inflateRaw(buffer, function(err, buffer) { if (!err) { console.log("inflateRaw (%s): ", buffer.length, buffer.toString()); } }); } }); zlib.gzip(input, function(err, buffer) { if (!err) { console.log("gzip (%s): ", buffer.length, buffer.toString('base64')); zlib.gunzip(buffer, function(err, buffer) { if (!err) { console.log("gunzip (%s): ", buffer.length, buffer.toString()); } }); zlib.unzip(buffer, function(err, buffer) { if (!err) { console.log("unzip gzip (%s): ", buffer.length, buffer.toString()); } }); } });
输出结果:
"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe zlib_buffers.js
deflate (18): eJzT00MBJakVJagiegB9Zgcq
deflateRaw (12): 09NDASWpFSWoInoA
gzip (30): H4sIAAAAAAAAC9PTQwElqRUlqCJ6AIq+x+AiAAAA
inflate (34): ...............text...............
unzip deflate (34): ...............text...............
inflateRaw (34): ...............text...............
gunzip (34): ...............text...............
unzip gzip (34): ...............text...............Process finished with exit code 0
可通过pipe()将压缩/解压对象从一个流输送到另一个流。
var zlib = require("zlib"); var gzip = zlib.createGzip(); var fs = require('fs'); var inFile = fs.createReadStream('zlib_file.js'); var outFile = fs.createWriteStream('zlib_file.gz'); inFile.pipe(gzip).pipe(outFile); setTimeout(function(){ var gunzip = zlib.createUnzip({flush: zlib.Z_FULL_FLUSH}); var inFile = fs.createReadStream('zlib_file.gz'); var outFile = fs.createWriteStream('zlib_file.unzipped'); inFile.pipe(gunzip).pipe(outFile); }, 3000);
上面代码中前面是readable流通过pipe使用压缩zlib.createGzip()然后输出到writeable中。后面的是解压的过程。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
javascript求1到100的和的方法:1、创建一个HTML示例文件并添加script标签;2、通过“for(i=1;i<=100;i++){sum=sum+i}”语句求1到100的和即可。
实现步骤1、导入draggable依赖npm i -S vuedraggable2、引入draggableimport draggable from vuedraggable3、注册draggable components: { draggable },4、使用draggablehtml页面 div
本文实例为大家分享了js实现按钮进行某行上移下移的具体代码,供大家参考,具体内容如下先上个通用简单的代码:<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-eq
盲猜一个:如果你有看过《medium 五万赞好文-《我永远不懂 JS 闭包》》你一定会对 JS 的【函数】有更多兴趣!皮一下,很舒服~ 没错!JS 就是轻量级的函数式编程!拆解一下这句话,品味一下~本瓜将借助《JavaScript 轻量级函数式编程》一书带领你先透析它的落脚点函数式编程,然后再看看 JS 为什么被称为是
这篇文章主要介绍了JS中锚点链接点击平滑滚动并自由调整到顶部位置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008