我正在寻找一种在JavaScript中压缩字符串的解决方案,使用GET(jsonp)发送它,然后使用PHP解压缩。最好的方法是拥有快速代码和良好的压缩效果。
我找到了lz-string库,但看起来它没有PHP后端。任何其他类似的库或lz-string的PHP实现?
答案 0 :(得分:0)
对于客户端javascript压缩,请检查此deflate实现:
https://github.com/dankogai/js-deflate
要解压缩PHP端,您只需要gzinflate()
<强>陷阱强>
如果您想将压缩数据从客户端发布到服务器,那么首先对它进行base64编码可能是个好主意。 在服务器端,您必须调用gzinflate(base64_decode($ post_body));
javascript deflate实现或PHP inflate实现都不是100%正确有时,很少,gzinflate会返回错误。这意味着如果沿着这条路走下去,你应该有一些回退机制,例如:尝试POST压缩数据。如果它无法回退到未压缩的数据。
保持压缩级别下降或者您必须遇到javascript超时错误
如果您计划压缩大量数据(100 + KB),可能在较旧的浏览器上(IE <= 9),您需要拆分主deflate循环以使其异步(使用setTimeout)一次处理较小的数据块。理想情况下,每个块都不应该让JS解释器忙碌超过100毫秒,否则你会降低UI响应速度或者遇到丑陋的JS超时弹出错误。
答案 1 :(得分:0)
您可以尝试使用JavaScript,php和其他语言实现的http://rosettacode.org/wiki/LZW_compression。