var zlib = require('zlib'); var plaintext = 'Hello World'; var compressedData = []; var compressor = zlib.createGzip(); compressor.write(plaintext); compressor.end(); compressor.on('data', function(d) { compressedData.push(d);}); compressor.on('end', function() { var b64CompressedData = new Buffer(compressedData.join('')).toString('base64'); var b64CompressedBuf = new Buffer(b64CompressedData, 'base64'); var decompressedData = []; var decompressor = zlib.createGunzip(); decompressor.write(b64CompressedBuf); decompressor.end(); decompressor.on('data', function(d) { decompressedData.push(d); }); decompressor.on('error', function(e) { console.error('error: ' + e); }); decompressor.on('end', function() { console.log(decompressedData.join('')); }); });