zoukankan      html  css  js  c++  java
  • node.js压缩

    var zlib = require("zlib");
    var input = '...............text..............';
    //inflate 充气    deflate压缩
    //gzip/gunzip:标准gzip压缩.
    //deflate/inflate:基于Huffman编码的标准deflate压缩算法。
    //deflateRaw/inflateRaw:针对原始缓冲区的deflate压缩算法。
    
    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.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());
                }
            });
        }
    });
    const fs = require('fs');
    const zlib = require('zlib');
    const path = require('path');
    function gzip($src) {
        fs.stat($src, function (err, stats) {
            if (stats.isFile()) {
                let rs = fs.createReadStream($src);
                //zlib.createGzip()创建一个gzip转换流,是一个可读可写流。
                //通过管道将数据读取出来写入gzip流,然后又通过管道写入一个文件流中
                $dst = path.join(__dirname, path.basename($src) + '.gz');
                rs.pipe(zlib.createGzip()).pipe(fs.createWriteStream($dst));
            }
        });
    }
    function ungzip($src) {
        fs.stat($src, function (err, stats) {
            if (stats.isFile()) {
                let rs = fs.createReadStream($src);
                //zlib.createGunzip()创建一个gunzip转换流
                $dst = path.join(__dirname, path.basename($src, '.gz'));
                rs.pipe(zlib.createGunzip()).pipe(fs.createWriteStream($dst));
            }
        });
    }
    
    //压缩文件
    //gzip('./1.txt');
    //解压文件
    //ungzip('./1.txt.gz');
    var zlib = require("zlib");
    var input = '...............text..............';
    //inflate 充气    deflate压缩
    //gzip/gunzip:标准gzip压缩.
    //deflate/inflate:基于Huffman编码的标准deflate压缩算法。
    //deflateRaw/inflateRaw:针对原始缓冲区的deflate压缩算法。
    
    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.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());
                }
            });
        }
    });
  • 相关阅读:
    产生随机不重复ID
    .NET 中使用 SQlite 数据库_1.新数据库的创建
    WCF 服务IIS部署 SvcUtil.exe 工具文件地址 及 生成代理类命令
    查看进程占用各字段含义
    内存溢出
    Python 正则表达式使用问题集锦
    Ninja编译过程分析
    git 命令使用集锦
    使用aapt查看当前apk的属性
    Android PowerManager电源管理(Android N )
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/13938325.html
Copyright © 2011-2022 走看看