是否有针对字符串的Javascript压缩和PHP / Ruby解压缩库?我需要它,因为我需要使用Ajax在一个慢速上传链接上发送一个非常长的文本字符串到一个使用PHP / Ruby作为服务器端语言的Web服务器。
var x = $('#sources').html();
// a very-very long text
var xo = x, o = {};
if(x.length>512*1024) {
x = compress(x);
o.c = 1;
}
o.x = x;
$.post('target.php',o,function(res){alert(res==xo)});
在服务器端(例如,PHP):
<?php
if(isset($_POST['c']) && $_POST['c']=='1') {
$x = decompress($_POST['x']);
} else {
$x = $_POST['x'];
}
echo $x;
答案 0 :(得分:4)
答案 1 :(得分:2)
应该这样做
http://webdevwonders.com/lzw-compression-and-decompression-with-javascript-and-php/
LZW适用于实际包含人类可读文本的字符串
答案 2 :(得分:0)
假设您通过http发送文件,我建议您通过发送带有gzip内容编码的文件让您的Web服务器处理此问题。
例如,如果您使用Apache,则可以启用mod_deflate
如果由于某种原因你无法改变你的web服务器配置,php也有一个你可以使用的内置gzip处理程序。请参阅:ob_gzhandler
编辑:
对于客户端到服务器,它看起来不像任何XmlHttpRequest实现直接支持。您也许可以为Javascript找到自定义gzip压缩算法,然后设置请求标头以指示它已被压缩。这样它就会被Web服务器透明地解码,而您不必在php中做任何特殊的事情。
答案 3 :(得分:0)
运行谷歌搜索“ruby decompress string”会出现这个:How to decompress Gzip string in ruby?这就是你要找的东西。