用于压缩POST数据的JavaScript库?

问题描述:

我正在构建一个chrome扩展,它将通过POST请求将HTML字符串发送到服务器。用于压缩POST数据的JavaScript库?

我想在发送它们之前压缩这些字符串,因为它们中的一些可能非常大。

是否有任何JavaScript库可用,这有助于此?

+0

@olliej对这个话题非常漂亮的答案在这里:http://stackoverflow.com/questions/3640357/how-to-compress-a-string – 2012-03-13 19:50:41

+0

我没有答案,但有JS与C++或C#有很大不同的性能特征。您可能需要执行litte基准来选择最佳算法。 – usr 2012-03-14 10:45:38

我结束了使用RawDeflate library来实现约百分之三十到百分之五十的压缩。这比在注释中链接的the SO question中列出的所有方法执行得更好。

我写了下面的Ruby类来扩充服务器上的数据。

require "zlib" 
require "base64" 

class Decompression 
    # Decompress content sent to the server. 
    # 
    # Usage: 
    # 
    # Decompression.decompress(params["raw_content"]) 
    # 
    # Returns string. 
    def self.decompress(string) 
    decoded = Base64.decode64(string) 
    inflate(decoded).force_encoding('UTF-8') 
    end 

private 

    # https://stackoverflow.com/q/1361892/574190 
    def self.inflate(string) 
    zstream = Zlib::Inflate.new(-Zlib::MAX_WBITS) 
    buf = zstream.inflate(string) 
    zstream.finish 
    zstream.close 
    buf 
    end 
end