JavaScript:解压缩gzip响应。在C#中工作,而不是在JS中工作

JavaScript:解压缩gzip响应。在C#中工作,而不是在JS中工作,javascript,gzip,zlib,compression,Javascript,Gzip,Zlib,Compression,我从正在使用的一个业务api中获取gzip数据,但我无法将其解压缩为JS中可读的内容,尽管我使用了C# 我的问题是-如何将收到的gzip输入解压缩为字符串或json 下面的代码对我来说在C#中很有用: 我已经阅读了各种答案并尝试了一些库,但仍然无法在JS中解压(使用相同的URL) 这就是代码在JS中的位置: var requestData = { url: url, headers: { "Allow-Encoding": "gzip" } } reque

我从正在使用的一个业务api中获取gzip数据,但我无法将其解压缩为JS中可读的内容,尽管我使用了C#

我的问题是-如何将收到的gzip输入解压缩为字符串或json

下面的代码对我来说在C#中很有用:

我已经阅读了各种答案并尝试了一些库,但仍然无法在JS中解压(使用相同的URL)

这就是代码在JS中的位置:

var requestData = {
    url: url,
    headers: {
        "Allow-Encoding": "gzip"
    }
}
request.get(requestData, function(error, response, body) {

    // compressed data is in body
});
我试过pako和zlib,但我可能没有正确使用它们

[编辑] 我的一些尝试:

// Decode base64 (convert ascii to binary)
var strData = new Buffer(body).toString('base64');

// 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 strData2 = String.fromCharCode.apply(null, new Uint8Array(data));
这段代码在NodeJS应用程序中运行,我使用


谢谢

你可以试试,我检查了这个库,但是如果你看源代码,它会压缩而不是解压缩,这里有解压功能。@AlexD-你有什么问题?让我们看看。
// Decode base64 (convert ascii to binary)
var strData = new Buffer(body).toString('base64');

// 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 strData2 = String.fromCharCode.apply(null, new Uint8Array(data));