本文实例讲述了基于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程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
[JSOI2008]Blue Mary的战役地图 Hash题解
牛客编程巅峰赛S1第8场 - 青铜&白银 A.数学B.贪心C.枚举
网友评论