NodeJS12 and Zlib
It works as it should be as follow index.js
const zlib = require('zlib');
const input = 'hello carl, how are you?';
zlib.deflate(input, function(err, buffer) {
if (!err) {
console.log(buffer.toString('base64'));
}
});
const buffer = Buffer.from('eJzT0yMAAGTvBe8=', 'base64');
zlib.unzip(buffer, function(err, buffer) {
if (!err) {
console.log(buffer.toString());
}
});
> node index.js
eJzLSM3JyVdITizK0VHIyC9XSCxKVajML7UHAGvnCIU=
.................................
Convert the callback mode to async await mode
const zlib = require('zlib');
const input = 'hello carl, how are you doing?';
(async () => {
const output = await new Promise((resolve, reject) => {
zlib.deflate(input, function(err, buffer) {
return void err ? reject(err) : resolve(buffer.toString('base64'))
})
});
console.log(output);
const buffer = Buffer.from(output, 'base64');
const resp = await new Promise((resolve, reject) => {
zlib.unzip(buffer, function(err, buffer) {
return void err ? reject(err) : resolve(buffer.toString())
});
});
console.log(resp);
})();
> node index.js
eJzLSM3JyVdITizK0VHIyC9XSCxKVajML1VIyc/MS7cHAKaqCrY=
hello carl, how are you doing?
Handle both gzip data or text data with base64
const zlib = require('zlib');
const input = 'Hello World';
const base64Input = Buffer.from("Hello World").toString('base64');
(async () => {
const outputZip = await new Promise((resolve, reject) => {
zlib.deflate(input, function(err, buffer) {
return void err ? reject(err) : resolve(buffer.toString('base64'))
})
});
console.log(outputZip);
console.log(base64Input);
//console.log(Buffer.from("Hello World").toString('base64'));
//console.log(Buffer.from("SGVsbG8gV29ybGQ=", 'base64').toString());
const rawInput = Buffer.from(base64Input, 'base64');
const resp = await new Promise((resolve, reject) => {
zlib.unzip(rawInput, function(err, buffer) {
return void err ? reject(err) : resolve(buffer ? buffer.toString() : rawInput.toString());
});
});
console.log(resp);
})();
> node index.js
eJzzSM3JyVcIzy/KSQEAGAsEHQ==
SGVsbG8gV29ybGQ=
Hello World
References:
https://millermedeiros.github.io/mdoc/examples/node_api/doc/zlib.html
https://stackoverflow.com/questions/12148948/how-do-i-ungzip-decompress-a-nodejs-requests-module-gzip-response-body
https://nodejs.org/docs/latest-v12.x/api/zlib.html
分享到:
相关推荐
nodeJs 12.22.12-x64-windows版本 nodeJs 12.22.12-x64-windows版本 nodeJs 12.22.12-x64-windows版本 nodeJs 12.22.12-x64-windows版本 nodeJs 12.22.12-x64-windows版本
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
nodejs初级教程
nodejs14.9.0
nodejs 搭建oauth服务器的代码 Install nodejs and npm and then, simply run npm install and npm start. The server should now be running at http://localhost:3000.
NodeJS 中文文档 (Node.js v12.14.0) 源网址:http://nodejs.cn/api/
1.引言Node12 发布有几个月了,让我们跟随 Nodejs 12 一起看看 Node12 带来了哪些改变。2. 概述Node12 与以往的版本不同,带来了许
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 ...
节点js NodeJS示例项目
快速部署puppeteer到阿里云函数计算,支持nodejs12和custom_container_start-puppeteer
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程,从而打破了JavaScript只能在浏览器中运行的传统。本"NodeJS整理手册文档"旨在为对NodeJS感兴趣的朋友们提供一...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,打破了JavaScript只能在浏览器中运行的传统。本指南将深入探讨NodeJS的核心概念、开发工具、模块系统、网络编程...
Idea 配置前端 Web Nodejs 项目 Idea 配置前端 Web Nodejs 项目是指在 IntelliJ IDEA 集成开发环境中配置 Nodejs 项目的步骤。下面我们将详细讲解配置的步骤和相关知识点。 Idea 配置 Nodejs 项目 首先,我们需要...
资源名称:NodeJs技术经典文档资源目录:【】Node.js开发指南_中文正版【】nodejs开发指南pdf及源码及win安装程序【】nodejs手册中文【】NodeJs教程【】umav4simple【】七天学会NodeJS【】七天学会NodeJS【】深入浅...
nodejs视频教程,可以快速帮助你入门nodejs开发中,nodejs不错哦
Learn With Angular 4, Bootstrap, and NodeJS 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装