2012-03-13 2 views
2

Я строю расширение chrome, которое отправит строки HTML на сервер через POST-запросы.Библиотека JavaScript для сжатия данных POST?

Я хотел бы сжать эти строки перед отправкой их, поскольку некоторые из них могут быть довольно большими.

Есть ли доступные библиотеки JavaScript, которые облегчают это?

+0

@olliej имеет очень хороший ответ на эту тему здесь: http://stackoverflow.com/questions/3640357/how-to-compress-a-string –

+0

У меня нет ответа, но JS имеет очень разные характеристики производительности, например, C++ или C#. Вероятно, вам нужно сделать тест litte, чтобы выбрать лучший алгоритм. – usr

ответ

0

Я закончил использовать 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 
Смежные вопросы