每天学习一点点,成功增加一大步

NodeJs笔记: gzip 使用 base64 压缩与解压缩

NodsJS zhanghui 569℃

zlib 是 nodejs  自带的,可以直接使用,当前试验 nodejs 采用的语言是:  typeScript 。

首先是在项目中 npm 安装

npm i --save zlib

然后是引入

import * as zlib from 'zlib';

如下代码将 base64 的 gzip 压缩与解压

首先是压缩

var input = 'welcone to pkcms.cn';

zlib.gzip(input, function(err, buffer) {
    if (!err) {
        console.log("gzip (%s): ", buffer.length, buffer.toString('base64'));
    }
});

或者同步方式压缩:

var buffer = await zlib.gzipSync(new Buffer(input, 'base64'));
console.log("gzip (%s): ", buffer.length, buffer.toString('base64'));

下面的代码是解压出来

var input = 'H4sIAAAAAAAACitPzUnOz0tVKMlXKMhOzi3WS84DAOYJ5s4TAAAA';
var buffer = new Buffer(input, 'base64');
zlib.unzip(buffer, function(err, buffer) {
    if (!err) {
        console.log("unzip gzip (%s): ", buffer.length, buffer.toString());
    }
});

或者也可以用同步的方式:

var str = await zlib.unzipSync(buffer).toString();

参考官方文档:https://nodejs.org/api/zlib.html

 

转载请注明:隨習筆記 » NodeJs笔记: gzip 使用 base64 压缩与解压缩