Node.js压缩与解压数据
2023-09-14 08:57:58 时间
gzip/gunzip:标准gzip压缩.
deflate/inflate:基于Huffman编码的标准deflate压缩算法。
deflateRaw/inflateRaw:针对原始缓冲区的deflate压缩算法。
它们的函数都是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中。后面的是解压的过程。
Node.js系列九 - http开发web服务器 什么是Web服务器? 当应用程序(客户端)需要某一个资源时,可以向一个台服务器,通过Http请求获取到这个资源;提供服务器的这个服务器,就是一个Web服务器;
社会主义 从.Net到iOS,在撸的道路上越走越远,工作之余经营着博客园http://www.cnblogs.com/5ishare,欢迎小伙伴(妹子更好)一起交流,谈谈人生理想。作为经常从网上索取免费资料的一员,要有回报回报的思想,也让更多的人少走弯路.
相关文章
- 使用 Dynatrace 对 Node.js 应用的性能数据进行分析
- JS获取当前年份_js获取当前时间年月日
- js 数组去除重复数据-5 个提升你 JS 编码水平的实例
- 【JS 逆向百例】猿人学系列 web 比赛第二题:js 混淆 - 动态 cookie,详细剖析
- 云开发新增支持 Node.js 14.18、16.13 云函数
- Mongoose v 4.9.6 发布,让node.js更优雅的操作MongoDB详解大数据
- Node.js安装及环境配置之Windows篇详解编程语言
- 使用Node.js连接MySQL数据库(node-mysql)
- 解除 Linux 上的 Node.js 安装(linux卸载node)
- Node.js 10.0.0 正式版发布 大量改进和修复
- Node.js 使用 MongoDB 数据库实现数据存储(nodejs连接mongodb)
- 使用JS实现Redis数据读取(js读取redis)
- Discovering the Power of Node.js on Linux: An Introduction(nodejslinux)
- 妙用JS获取Oracle信息的快速方法(js获取Oracle)
- JS的递增/递减运算符和带操作的赋值运算符的等价式
- JS删除字符串最后一个字符的实现代码
- Node.js和PHP根据ip获取地理位置的方法
- 跟我学Nodejs(一)---Node.js简介及安装开发环境
- node.js使用npm安装插件时提示installError:ENOENT报错的解决方法
- node.js中的buffer.copy方法使用说明
- node.js中的fs.ftruncate方法使用说明
- node.js中的fs.lchown方法使用说明
- 零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
- Node.js中使用Buffer编码、解码二进制数据详解