【问题标题】:How to zip/gzip user data in javascript before sending to the server?在发送到服务器之前,如何在 javascript 中压缩/gzip 用户数据?
【发布时间】:2011-11-12 05:49:07
【问题描述】:

我还是 Javascript 的新手。我有一种情况,许多用户可以将大型 JSON 发送回服务器。为了限制流量,我想对它们进行 gzip 压缩。这在Javascript中可能吗?如何从 JSON 的字符串表示中创建字节数组?谢谢。

【问题讨论】:

    标签: javascript ajax json gzip


    【解决方案1】:

    我知道没有 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("");
    }
    

    【讨论】:

    【解决方案2】:

    我相信,这里有一篇关于该主题的维基百科文章http://en.wikipedia.org/wiki/HTTP_compression

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-25
      • 2017-02-26
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      相关资源
      最近更新 更多