2

これらのメッセージをユーザーに再公開するサービスに Json メッセージを送信します。問題は、一部のメッセージが許可されているメッセージ サイズの上限を超えていることです。そのため、メッセージに何らかの圧縮を適用し、クライアント側で解凍できないかと考えました。

最初は C# で Gzip を試してみたのですが、JavaScript で解凍するのは難しそうです。

他のいくつかの声は、LZMA と Zlip を試すように指示しています。

私は正しい道を進んでいますか、それとも別の方法で考えるべきですか。

4

2 に答える 2

1

「C#とPHP」の両方を使用して、圧縮されたテキストを解凍することに成功しました。圧縮にはZlibを使用しています。

私は JSXCompressor からソリューションを取得します。この例をダウンロードできます: http://jsxgraph.uni-bayreuth.de/distrib/jsxcompressor.zip testhelloworld.php を参照

PHP では、圧縮は gzcompress を使用して行われ、圧縮された出力は base64_encode を使用してエンコードされていました。

$x = 'Some text or json';
$compressed = base64_encode(gzcompress($x, 9)); // 9 could be from 1 to 9
// echo $compressed;
file_put_contents('compressed.txt', $compressed);

減圧の場合:

$.ajax('compressed.txt').done(function (res) {

    console.info(JXG.decompress(res));
});
于 2015-02-18T08:49:59.733 に答える
0

JSONデータのバイナリエンコーディングであるBSONを使用する可能性があります。

http://bsonspec.org/

クライアント側には、エンコード/デコード用のライブラリがいくつかあります。1 つは Mongo DB に付属しています: https://github.com/mongodb/js-bson

サーバー側では、JSON.net は BSON シリアライゼーション/デシリアライゼーションをサポートしています: http://james.newtonking.com/archive/2009/12/26/json-net-3-5-release-6-binary-json-bson-support

これは正確には圧縮ではありません。JSON データのよりコンパクトな表現です。

于 2015-02-16T12:19:50.713 に答える