zoukankan      html  css  js  c++  java
  • 使用pako.js实现gzip的压缩和解压

    poko.js可至Github下载:https://github.com/nodeca/pako

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>pako.js实现gzip的压缩和解压</title>
    </head>
    <body>
    <script type="text/javascript" src="pako.js"></script>
    <script >
    var b64Data   = 'H4sIAAAAAAAAAJ3UMQ7CMAwF0KugP2ewEzdpcxXUAbWAOiHUMqCqdyeVQAobfGXIYL8hP5ZXnEdkeNEk6vUgXTbLonC4zMjHFY/5Wm511ekdTsOCLKVp2rlIKOA2jTuBot/cr7BhobEwsbAloY8kDGyqoQ5H/oHsdwQ21cCmaspCz0L2jcYOgLHhNGw4TT1yVmBpuS9PZHWY35siqnxvimEvpE9FY4peQhfbhO0FDnuFqWAEAAA=';
    var ticketData = '{"ed":"20170121 09:44:01","fs":[{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"003","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"005","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"004","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"007","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"008","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"026","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"033","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"034","oids":["0"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"035","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"037","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"038","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"041","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"042","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"047","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"046","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"048","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"051","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"053","oids":["4"]}],"qty":1,"sd":"20161021 09:44:01","cd":"72016102116762039687"}';
    // Output to console
    var s = unzip(b64Data);
    console.log("unzipped:");
    console.log(s);
    var data = zip(ticketData);
    console.log("zipped:");
    console.log(data);
    function unzip(b64Data){
      var strData   = atob(b64Data);
      // Convert binary string to character-number array
      var charData  = strData.split('').map(function(x){return x.charCodeAt(0);});
      // Turn number array into byte-array
      var binData   = new Uint8Array(charData);
      // // unzip
      var data    = pako.inflate(binData);
      // Convert gunzipped byteArray back to ascii string:
      strData   = String.fromCharCode.apply(null, new Uint16Array(data));
      return strData;
    }
    function zip(str){
      var binaryString = pako.gzip(str, { to: 'string' });
      return btoa(binaryString);
    }
    </script>
    </body>
    </html>
  • 相关阅读:
    25款有用的桌面版博客编辑器
    iOS开发- &quot;duplicate symbol for architecture i386&quot; 解决的方法
    中国眼下拥有的人造卫星的种类及其作用
    深入浅出JMS(一)——JMS简单介绍
    android之【本地通知Notification】
    蓝牙设计
    html5中的容器标签和文本标签
    amaze ui中的icon button
    amaze ui表格斑马纹效果
    amaze ui响应式表格
  • 原文地址:https://www.cnblogs.com/exmyth/p/7010273.html
Copyright © 2011-2022 走看看