基于pako.js实现gzip的压缩和解压功能示例
2017-06-13 08:32
986 查看
本文实例讲述了基于pako.js实现gzip的压缩和解压功能。分享给大家供大家参考,具体如下:
<!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>
运行效果图如下:
poko.js可至Github下载:https://github.com/nodeca/pako
或者点击此处本站下载。
更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 使用pako.js实现gzip的压缩和解压
- 使用pako.js实现gzip的压缩和解压
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- JS基于面向对象实现的多个倒计时器功能示例
- JS实现为动态添加的元素增加事件功能示例【基于事件委托】
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- JS基于正则表达式实现的密码强度验证功能示例
- JS基于面向对象实现的拖拽功能示例
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- JS基于面向对象实现的拖拽功能示例
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Java实现文件压缩与解压的示例[zip格式,gzip格式]
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- [导入]Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- JS基于onclick事件实现单个按钮的编辑与保存功能示例
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)