問題タブ [lz4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4993 参照

javascript - Node.js を使用せずに JavaScript で lz4 圧縮を使用する

LZ4 解凍を純粋な JavaScript でクライアント側で機能させようとしています。

このJavaScript ライブラリを見つけましたが、Node.js で使用するためのものです。同じリポジトリ内で、理論的にはブラウザで使用できるライブラリを見つけました。問題は、そのようなライブラリが、Node.js を使用しておらず、これはすべてクライアント側で発生しているため、私が持っていない Node.js バッファをまだ期待していることです (バグをログに記録していくつかを取得しようとしました)。使い方の参考に。)

次に、Node.js バッファーの移植を探したところ、このリポジトリが見つかりました。問題は、それを使用すると、Chrome と Firefox の両方でこのエラーが発生することです。

TypeError: this is not a typed array

このバグレポートを記録しました。これらの 2 つのライブラリを組み合わせて、純粋な JavaScript で lz4 解凍を達成することはそれほど遠くありませんが、これまで ArrayBuffer、Uint8Array、および Node.js を使用したことがないため、点をつなぐのに苦労しています。

私の質問:純粋な JavaScript で LZ4 の解凍に成功した人はいますか? アドバイスや指針はありますか?前もって感謝します。

0 投票する
1 に答える
9152 参照

algorithm - LZ4 圧縮アルゴリズムの説明

ウィキペディアからの説明:

LZ4 アルゴリズムは、データを一連のシーケンスとして表します。各シーケンスは、2 つの 4 ビット フィールドに分割された 1 バイトのトークンで始まります。最初のフィールドは、出力にコピーされるリテラルのバイト数を表します。2 番目のフィールドは、既にデコードされた出力バッファーからコピーするバイト数を表します (0 は 4 バイトの最小一致長を表します)。いずれかのビットフィールドの値 15 は、長さが大きく、長さに追加されるデータの余分なバイトがあることを示します。これらの余分なバイトの値 255 は、さらに別のバイトが追加されることを示します。したがって、任意の長さは、値 255 を含む一連の余分なバイトによって表されます。リテラルの文字列の後には、文字列の長さを示すために必要なトークンと余分なバイトが続きます。この後に、出力バッファー内でコピーを開始する位置を示すオフセットが続きます。match-length の余分なバイト (ある場合) は、シーケンスの最後に来ます。

全然わからなかった!誰かが例を理解する簡単な方法を持っていますか? たとえば、上記の説明では、リテラル バイトとは何ですか。一致とは何ですか? 圧縮を開始したばかりのときに、デコードされた出力バッファを取得するにはどうすればよいでしょうか? 何の長さ?

ここの説明も私には理解不能でした。

より良い説明方法がない限り、簡単な例がいいでしょう。

0 投票する
2 に答える
4182 参照

c - LZ4 ライブラリ解凍データの上限サイズの見積もり

私はLZ4ライブラリを使用しており、データを解凍するときに

解凍後の最大データサイズを見積もりたい。しかし、私はの逆関数を見つけることができません

maxDecompressedSizeこれにより、解凍関数の最後のパラメーターに提供する解凍データの上限を決定できます。

たとえば、snappyなどの他の圧縮ライブラリは、そのような機能を提供します。

初期データ サイズ (圧縮前) を保存する機能がない場合、および割り当てる必要があるバッファーのサイズについて悲観的になりたくない場合はどうすればよいですか?

0 投票する
0 に答える
866 参照

java - Android アプリの LZ4 圧縮ライブラリ

Android アプリケーションで LZ4 圧縮ライブラリを使用するにはどうすればよいですか...

私が直面している主な問題は、署名されたアプリケーション パッケージをエクスポートしようとしたときに発生するエラーです。

警告: net.jpountz.util.UnsafeUtils: 参照されているクラス sun.misc.Unsafe が見つかりません

デバイスでアプリケーションを直接実行しても問題はありません。このエラーは、アプリケーションをエクスポートしようとしたときにのみ発生します。

0 投票する
0 に答える
3631 参照

python - PythonでLZ4モジュールが認識されない

Ubuntu に LZ4 を正常にインストールしましたが、次のコマンドを実行している間はまだ Python にインストールされています。

no module found というエラーが表示されます。