問題タブ [lzw]

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 に答える
3094 参照

c - CでのLZW解凍

Cで書かれたLZWコンプレッサー/デコンプレッサーがあります。

最初のテーブルは ASCII 文字で構成され、テーブルに保存される各文字列はプレフィックス文字で構成され、両方とも int としてリストに保存されます。

圧縮は機能しますが、解凍すると一部の文字が除外されます。

入力:

私が得る出力(「e」と「<」がないことに注意してください):

これは私が使用するコードです(関連部分):

あなたはそれを見つけることができますか?ありがたく思います。

0 投票する
4 に答える
13939 参照

java - JavaでLZWデコードを行うにはどうすればよいですか?

バイナリブロブとして保存された画像データを含むデータベースがあります。ドキュメントには、データはLZWを使用してエンコードされていると記載されています。JavaライブラリにあるZipまたはGZip入力ストリームを使用してデコードできると思いましたが、機能しませんでした。データの形式が正しくないという例外が発生しました。

私が読んだところによると、ライブラリはLZWではないDEFLATEを使用しています。また、LZWアルゴリズムを使用するためのライセンスの問題についても読みました。

データをデコードするために何を使用できますか?図書館はありますか?自分で実装する必要がありますか?ライセンスの問題はどうですか?

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

c++ - Turbo C ++プログラムでdllを使用できますか?lzw圧縮および解凍用のdllはありますか?

lzw圧縮プログラムを作成しようとしていました。しかし、今日までにそれを終了する必要があるので、入力をtxtファイルとして取得し、出力をテキストファイルとして取得するためにいくつかのdllを使用したいと思います。残りの機能を実行しているTURBOC++コードでこれを実行したいと思います。誰かが私にいくつかの方法を提案できますか?

0 投票する
8 に答える
7728 参照

c - メモリ不足状態での LZW 圧縮/解凍

メモリ不足の状態 (< 2k) で lzw 圧縮/解凍を実装する方法を教えてください。それは可能ですか?

0 投票する
3 に答える
2282 参照

javascript - 間違ったELFクラス-Python

LZJB圧縮用にこのライブラリをインストールしようとしています。PyLZJBリンク

ライブラリはCライブラリのバインディングであり、ファイルはここPyLZJB.soにあります。


残念ながら、インポート時にsite-packagesディレクトリにコピーすると、「WrongELFclass」エラーが発生します。


ヘルプは素晴らしいでしょう。:)

PS:私はUbuntu10.464ビットを実行しています


編集:

誰かが私に別の圧縮アルゴリズムを提案してくれるなら、私も同じように幸せです。:)

アルゴリズムはHTML圧縮用であり、クライアント側のJavascript解凍/圧縮サポートも必要です。

私は本当に誰かがこれを手伝ってくれることを願っています。みんなありがとう!

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

javascript - base64エンコーディングの前に文字列を短くして短くするロスレス圧縮方法?

base64でエンコードされたデータにHTML(およびすべてのインラインCSSとJavascript)を含むURLを生成するHTMLドキュメントをプレビューするための小さなWebアプリを構築しました。問題は、URLがすぐに長くなることです。データを失うことなく最初に文字列を圧縮するための「事実上の」標準的な方法(できればJavascriptによる)は何ですか?

PS; しばらく前に学校でハフマンとレンペルジブについて読んだことがありますが、LZWを本当に楽しんだことを覚えています:)

編集:

解決策が見つかりました。rawStr => utf8Str => lzwStr=>base64Strが進むべき道のようです。私はさらに、utf8とlzwの間にハフマン圧縮を実装することに取り組んでいます。これまでの問題は、base64にエンコードすると非常に多くの文字が非常に長くなることです。

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

compression - データの圧縮と解凍

さまざまな LZ ファミリーのデータ圧縮について調査しました。その中で最も人気のあるアルゴリズムは LZ77 と LZ78 です。しかし、LZcomp 圧縮の違いは何ですか?

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

c# - LZ複雑性アルゴリズム

LZ複雑性アルゴリズムをデータ圧縮にどのように組み込むかについて説明してください。データを圧縮する(または圧縮することを意図している)のでしょうか、それとも語彙内の一意のサブストリングの数を推定するだけでしょうか?

ありがとう!

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

dictionary - LZW(Limpel-Ziv-Welch)辞書コーディング区切り文字の問題

この質問は、LZWアルゴリズムに厳密に限定されるものではなく、LZ77およびLZ78の他の実装をカバーする場合があります。

私はLZW辞書コーディングスキームを含む圧縮/解凍ユーティリティを書こうとしています。問題は、エンコード段階で各コードワード(または「コード」)が書き出された後に、区切り文字(スペース)を含める必要があることです。出力がデコーダーに直接ストリーミングされ、後でデコードするために圧縮ファイルに保存される可能性があるとは想定できないため、これを行ってきました(この場合、デコーダーは何が分離するかを検出するための何らかの方法が必要になりますコードワード-区切り文字)。

最近、これは不要であり、デコーダーは、おそらく以前に読み取ったコードに基づいて、毎回読み取る圧縮ファイルの量を動的に「把握」できる必要があると言われました。これにより、各コードの後に​​余分なバイトを挿入する(コストのかかる)必要がなくなると思われます。

デコーダーがこれをどのように理解できるかわかりません。多分それがどのように機能するかを理解している誰かが私にそれを説明することができますか?ありがとう。

編集:

ディクショナリは、「入力文字列」を整数(コード)にマッピングするハッシュテーブルであり、入力データが読み込まれるにつれて通常の方法で構築されます。コードは圧縮ファイルに書き出されます。デコーダーは、圧縮ファイルから各コード(整数)を読み取り、出力する関連文字列を辞書で検索するか、そのコードのエントリがない場合は、通常の方法で文字列がどうあるべきかを判断して更新しますその辞書。

「ファイルがストリーミングまたは保存されている場合、なぜ違いが生じるのですか?」エンコーダーの出力が一度に1つのコードをデコーダーにストリーミングする場合、デコーダーはコードを受信するときに各コードを処理できます。しかし、エンコーダーがすべてのコードをファイル(圧縮ファイル)に書き込み、後でそのファイルがデコーダーに送られる場合、デコーダーは、あるコードがどこから始まり、別のコードがどこから始まるかをどのように知るのでしょうか。ファイルは、数字のマッシュアップされたシーケンスになります。

例:区切り圧縮ファイル:127 32 45 22 228 122 209 ....区切りなし圧縮ファイル:127324522228122209 .. ..

-ロブ

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

c - LZWおよびCGPDFScanner

CGPDFScannerは、発生したLZW圧縮を解凍しますか?それとも私がこれに責任がありますか?Tj[たくさんの演算子などをピックアップしているので、そうなると思います]