6

文字列用の Javascript 圧縮および PHP/Ruby 解凍ライブラリはありますか? サーバー側の言語として PHP/Ruby を使用する Web サーバーへの低速アップロード リンクで Ajax を使用して非常に長いテキスト文字列を送信する必要があるためです。

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;
4

4 に答える 4

4

最も一般的な圧縮アルゴリズムである Zip の多くの JS 実装があります。

たとえば、zip.js

Zip はもちろんPHP でもサポートされています

于 2013-02-14T08:05:56.603 に答える
2

それはそれを行う必要があります

http://webdevwonders.com/lzw-compression-and-decompression-with-javascript-and-php/

LZW は、人間が読めるテキストを実際に含む文字列に適しています

于 2013-02-14T08:07:50.443 に答える
0

http 経由でファイルを送信すると仮定すると、gzip content-encoding を使用してファイルを送信することで、Web サーバーにこれを処理させることをお勧めします。

たとえば、Apache を使用している場合は、有効にすることができます。mod_deflate

何らかの理由で Web サーバーの構成を変更できない場合、php には組み込みの gzip ハンドラーがあり、代わりに使用できます。見る:ob_gzhandler

編集:

クライアントからサーバーへの接続に関しては、これが XmlHttpRequest 実装によって直接サポートされているようには見えません。おそらく、Javascript 用のカスタム gzip 圧縮アルゴリズムを見つけて、それが圧縮されていることを示すように要求ヘッダーを設定できます。そうすれば、Web サーバーによって透過的にデコードされ、php で特別なことをする必要はありません。

このページを参照してください: Gzip の JavaScript 実装

于 2013-02-14T08:13:37.160 に答える
0

「ルビー解凍文字列」のグーグル検索を実行すると、これが表示されます:RubyでGzip文字列を解凍する方法は?これはあなたが探しているものです。

于 2013-03-01T04:15:43.393 に答える