在发送到服务器之前,如何用javascript压缩/压缩用户数据?

在发送到服务器之前,如何用javascript压缩/压缩用户数据?,javascript,ajax,json,gzip,Javascript,Ajax,Json,Gzip,我对Javascript还是新手。我遇到的情况是,许多用户可以将大型JSON发送回服务器。为了限制交通,我想gzip他们。这在Javascript中可能吗?如何从JSON的字符串表示形式创建字节数组?谢谢。我知道没有gzip实现,但还有其他压缩方法可供您使用 这将使用JavaScript对字符串进行lzw编码: // lzw-encode a string function lzw_encode(s) { var dict = {}; var data = (s + "").sp

我对Javascript还是新手。我遇到的情况是,许多用户可以将大型JSON发送回服务器。为了限制交通,我想gzip他们。这在Javascript中可能吗?如何从JSON的字符串表示形式创建字节数组?谢谢。

我知道没有gzip实现,但还有其他压缩方法可供您使用

这将使用JavaScript对字符串进行lzw编码:

// lzw-encode a string
function lzw_encode(s) {
    var dict = {};
    var data = (s + "").split("");
    var out = [];
    var currChar;
    var phrase = data[0];
    var code = 256;
    for (var i=1; i<data.length; i++) {
        currChar=data[i];
        if (dict[phrase + currChar] != null) {
            phrase += currChar;
        }
        else {
            out.push(phrase.length > 1 ? dict[phrase] : phrase.charCodeAt(0));
            dict[phrase + currChar] = code;
            code++;
            phrase=currChar;
        }
    }
    out.push(phrase.length > 1 ? dict[phrase] : phrase.charCodeAt(0));
    for (var i=0; i<out.length; i++) {
        out[i] = String.fromCharCode(out[i]);
    }
    return out.join("");
}
//lzw编码字符串
函数lzw_编码{
var dict={};
变量数据=(s+“”)。拆分(“”);
var out=[];
var-currChar;
var短语=数据[0];
var代码=256;
对于(var i=1;i 1?dict[短语]:短语.charCodeAt(0));
dict[短语+currChar]=代码;
代码++;
短语=currChar;
}
}
out.push(phrase.length>1?dict[phrase]:phrase.charCodeAt(0));

对于(var i=0;i我相信是的,这里有一篇关于这个主题的维基百科文章

来自: