【发布时间】:2015-11-11 03:38:11
【问题描述】:
我读了一篇关于使用 pako.js 在 javascript 中解压缩字符串的主题
ZLIB Decompression - Client Side
http://jsfiddle.net/9yH7M/1/
这是解压代码
// Get some base64 encoded binary data from the server. Imagine we got this:
var b64Data = 'H4sIAAAAAAAAAwXB2w0AEBAEwFbWl2Y0IW4jQmziPNo3k6TuGK0Tj/ESVRs6yzkuHRnGIqPB92qzhg8yp62UMAAAAA==';
// Decode base64 (convert ascii to binary)
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);
// Pako magic
var data = pako.inflate(binData);
// Convert gunzipped byteArray back to ascii string:
var strData = String.fromCharCode.apply(null, new Uint16Array(data));
// Output to console
console.log(strData);
我想要一个压缩字符串的方法,输出可以通过上面的代码解压
怎么会这样
【问题讨论】:
-
stackoverflow.com/questions/14620769/… ? Inflate 表示解压,Deflate 表示压缩,...nodeca.github.io/pako/#Deflate 也有例子?
-
您的主题是我的问题中提到的主题。它没有压缩字符串
-
示例中唯一缺少的是将二进制输出数据(来自
Deflate.result)转换为BASE64,但有btoa()对吗? developer.mozilla.org/en/docs/Web/API/WindowBase64/… -
var str = "Nguyen ANh Duc"; var data = pako.deflate(str);警报(btoa(数据));
-
这是我的代码,但无法得到正确的结果。对不起,我是新手
标签: javascript jquery compression gzip