node---zlib压缩模块

来源:互联网 发布:淘宝查不到以前的订单 编辑:程序博客网 时间:2024/05/30 23:09

 var zlip = require('zlip');  
 压缩跟解压不限于文件操作,也可以是数据压缩,http请求的压缩。

1> 常见的文件压缩

fs.createReadStream('output.txt')
.pipe( zlib.createGzip() )
.pipe( fs.createWriteStream( 'output.txt.zip' ));

2> 常见的文件解压缩

fs.createReadStream('out.txt.gz')
.pipe( zlib.createGunzip() )
.pipe( fs.createWriteStream('out.txt') );

有两种常用的HTTP压缩:DEFLATE 和 GZIP.

DEFLATE 是一个无专利的压缩算法,它可以实现无损数据压缩,有众多开源的实现算法。

GZIP  是使用DEFLATE进行压缩数据的另一个压缩库。

deflate 和gzip , 其实HTTP定义了一种机制,一个Web客户机和Web服务器同意一压缩方案可以用来发送内容。这是使用接受编码和内容编码标头完成。

const zlib = require('zlib');
const input = '.................................';
zlib.deflate(input, (err, buffer) => {
if (!err) {
console.log(buffer.toString('base64'));
} else {
// handle error
}
});
const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');
zlib.unzip(buffer, (err, buffer) => {
if (!err) {
console.log(buffer.toString());
} else {
// handle error
}
});


0 0