問題タブ [jzlib]
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.
java - jzlib を使用して gzip ファイルを作成する
オープンソースである jzlib を使用して gzip ファイルを作成しようとしています。Java GZIPOutputStream には少し問題があり、CPU が高くなり、解放されませんでした。
winrar でファイルを開くことができないという JZlib の問題は、ヘッダーが欠落しているようです。それを解決する方法はありますか?
java - jzlib 1.0.7: ZOutputStream.write() の ArrayOutOfBoundException
ZOutputStream の同じインスタンスに後で書き込まれたデータに応じて、jzlib 1.0.7 で特定の ArrayOutOfBoundException を生成する簡単なテスト ケースがあります。
スタックトレース:
この問題はめったに発生せず、jzlib から開いている ZOutputStream にその後書き込まれるデータに依存します。
これを修正する方法のヒントはありますか?これについて聞いたことがありますか?
java - Android InflaterInputStream は一般的な ZLIB Windows ライブラリと同じですか?
1990 年代に Jean-loup Gailly によって書かれた ZLIB ライブラリを使用して圧縮されたデータを解凍しようとしています。これは人気のあるライブラリだと思います (使用する zlib32.dll ファイルを出荷する多くのプログラムを目にします)。私が読んだものから rfc-1951 DEFLATE 形式を使用する compress() 関数を直接使用しています。
これは、ストリームから圧縮データを読み取って解凍するために使用しているコードの一部です。
iis.read(buf2) 関数は、「データ形式エラー」の内部例外をスローします。GZIPInputStream も使用してみましたが、同じ例外がスローされます。
「buf」変数は byte[] 型であり、C プログラムが ZLIB compress() 関数から取得したものと同じであることをデバッグで確認しました (実際のデータは TCP 経由でサーバーから取得されます)。「uncompressedDataLength」は、C プログラム (サーバー) によっても提供された非圧縮データの既知のサイズです。
このライブラリを使用してデータの読み取り/書き込みを試みた後、Java を使用して Android で同じデータの読み取り/書き込みを試みた人はいますか?
いくつかの場所で参照されている「ZLIB の純粋な Java ポート」を見つけました。必要に応じてそれを試すこともできますが、可能であれば組み込み/OS 関数を使用したいと思います。
compression - deflate 圧縮に適したプリセット辞書を計算する方法
deflate 圧縮用の辞書を事前設定する機会があります。私の場合は、圧縮するデータが 1kb から 3kb と比較的小さく、代表的な例のサンプルが多いため、これは理にかなっています。圧縮するデータは任意のバイト列で構成されているため、トークン化などは適切な方法ではありません。また、データは(データ例間で)多くの繰り返しを示しているため、優れた辞書は非常に良い結果をもたらす可能性があります。問題は、良い辞書をどのように計算するかです。最適な辞書を計算するアルゴリズムはありますか (与えられたサンプル データ)?
プレフィックス ツリーを調べ始めましたが、このコンテキストでそれらを使用する方法が明確ではありません。
よろしく、ジャレク