1

デビッドによるいくつかのコメントの後、私は私の質問を修正することにしました。元の質問と新しく改訂された質問を以下に示します。この質問が開始された理由についての履歴を残すために、元の質問を残しておきます。

元の質問(jslzmaのLZMAプロパティの設定)

ajaxで転送する必要のある大きなjsonファイルがいくつかあります。現在、jQueryと$ .getJSON()を使用しています。jslzmaライブラリを使用して、受信時にファイルを解凍したいと思います。現在、ファイルを圧縮するためにpylzmaライブラリでdjangoを使用しています。

唯一の問題は、jslzmaライブラリのドキュメントが不足していることです。いくつかありますが、十分ではありません。したがって、ライブラリの使用方法について2つの質問があります。

これを例として示します。

LZMA.decompress(properties, inStream, outStream, outSize);

inStream変数とoutStream変数を設定する方法は知っていますが、propertiesまたはを設定する方法は知っていませんoutSize。だから誰でもproperties変数を設定する方法(つまり、何が期待されるか)と計算方法の例を与えることができoutSizeます...

ありがとう。

編集#1(改訂された質問)


Python(django)とjavascriptを使用して、再現性の高いデータに適した圧縮スキームを探しています。

転送されるデータには、標高の測定値が含まれています。各ファイルには1200x1200のデータポイントがあります。これは、圧縮されていない生のバイナリ形式で約2.75MBに相当します。JSONはそれを5-6MBの間に膨らませます。また、base64(すべてのベースをカバーするため)も調べました。これによりサイズが小さくなりますが、jsで読み取ることに成功していません。データ値の再現性が高いという理由だけで、データは簡単に圧縮できると思います。たとえば、1つのファイルには1440000のデータポイントを記述するための83の一意の標高値しかありません。

主にJavaScriptを学び始めたばかりなので、あまり運がありませんでした。

では、このタイプのデータの圧縮スキームを提案できる人はいますか?目標は、データのサイズを小さくすることにより、転送時間を最小限に抑えることです。

ありがとう。

4

2 に答える 2

2

LZMAの価値については、通常、圧縮と解凍が非常に遅くなります。したがって、少し高速な圧縮方式を使用するのが一般的です。標準のGZIP(deflate)は、適度にバランスが取れています。圧縮率は許容範囲内であり、圧縮速度はLZMAやbzip2よりもはるかに優れています。また、ほとんどのWebサーバーとクライアントはgzip圧縮の自動処理をサポートしているため、さらに使いやすくなっています。

于 2011-11-14T22:00:37.873 に答える
2

Javacscriptを使用したクライアント側での解凍には、かなり長い時間がかかる可能性があり、クライアントのボックスの使用可能な帯域幅に大きく依存します。rle、delta、golombコードのように、より少ないがより速く、より簡単に解凍を記述できるのはなぜですか?または、圧縮されたJsonを調べたいですか?

于 2011-11-13T08:01:19.040 に答える