使用pako.js的javascript中的Gzip字符串

使用pako.js的javascript中的Gzip字符串,javascript,jquery,compression,gzip,Javascript,Jquery,Compression,Gzip,我读了一篇关于使用pako.js在javascript中解压缩字符串的主题 这是要解压缩的代码 // Get some base64 encoded binary data from the server. Imagine we got this: var b64Data = 'H4sIAAAAAAAAAwXB2w0AEBAEwFbWl2Y0IW4jQmziPNo3k6TuGK0Tj/ESVRs6yzkuHRnGIqPB92qzhg8yp62UMAAAAA=='; // Decod

我读了一篇关于使用pako.js在javascript中解压缩字符串的主题


这是要解压缩的代码

// 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);
我想要一个压缩字符串和输出的方法,可以通过上面的代码进行解压缩
如何做到这一点

您可以做到以下几点:

var binData = pako.deflate( "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")
.map(function(x){return x.charCodeAt(0);}));
收益率:

binData:Uint8Array(37)[120156 115 116 114 118 113 117 115 247 240 244 242 246241 245243 15 8 12 10 14 9 13 11 143136 140 114 196 41 3 0 150 1 15 191]

“ABCDEFGHIjklmnopqrstuvwxyzABCDEFGHIjklmnopqrstuvxyz”

  • 可以简化从
    b64数据
    解压的代码:
  • 要压缩到
    b64数据的代码

? 充气意味着减压,放气意味着压缩。。。还有例子吗?你的题目是我问题中提到的题目。没有压缩字符串示例中唯一缺少的是将二进制输出数据(从
Deflate.result
)转换为BASE64,但有
btoa()
对吗?var str=“Nguyen ANh-Duc”;风险值数据=pako.deflate(str);警报(btoa(数据));这是我的代码,但无法得到正确的结果。抱歉,我是新手,虽然此代码可能会回答此问题,但提供有关此代码回答此问题的原因和/或方式的其他上下文可以提高其长期价值。
var strData = String.fromCharCode.apply(null, pako.inflate(String.fromCharCode.apply(null, binData).split("").  map(function(x){return x.charCodeAt(0);})));

//yields back 
return pako.inflate(atob(b64Data), { to: 'string' });
return btoa(pako.deflate(stringToCompress, { to: 'string' }));