小编dra*_*jet的帖子

JavaScript Zlib解压缩

我正在尝试解压缩zlib的XML,如下所示:https://drive.google.com/file/d/0B52P0MZLTdw8ZzQwQzVpZGZVZWc

上传到在线解压缩服务的工作,例如:http://i-tools.org/gzip

在PHP中,我使用此代码并且工作正常,我得到XML字符串:

$raw = file_get_contents("file_here");
$uncompressed = zlib_decode($raw);
Run Code Online (Sandbox Code Playgroud)

但是,我想在JavaScript中执行此操作.

  • 该应用是客户端Chrome扩展程序,它使用chrome.devtools.network从网络日志中读取
  • 读取二进制响应.顶部的Google云端硬盘链接示例
  • JS需要将该响应解压缩到其原始XML,然后解析为对象

我唯一的问题是zlib解压缩部分.

截至最新更新,解压缩库工作但解压缩不起作用.请跳至底部的更新9月16日.


我已经尝试了几个JavaScript库,仍然无法使其工作:

Pako:https://github.com/nodeca/pako

unpack()代码:https://codereview.stackexchange.com/questions/3569/pack-and-unpack-bytes-to-strings

function unpack(str) {
    var bytes = [];
    for(var i = 0, n = str.length; i < n; i++) {
        var char = str.charCodeAt(i);
        bytes.push(char >>> 8, char & 0xFF);
    }
    return bytes;
}

$.get("file_here", function(response){
    var charData    = unpack(response);
    var binData     = new Uint8Array(charData);
    var data        = …
Run Code Online (Sandbox Code Playgroud)

javascript jquery bytearray zlib google-chrome-extension

9
推荐指数
1
解决办法
5988
查看次数