1

ランダムなテキスト サイズ = 27 GB のファイルがあり、圧縮後は 40 MB 程度になります。

また、3.5 GB の sql ファイルは、圧縮後に 45 MB になります。

しかし、109 MB のテキスト ファイルは、圧縮後に 72 MB になるため、何が問題になる可能性がありますか。

なぜそれほど圧縮されていないのか、10 mb 程度にする必要があります。そうしないと、何かが不足しています。

私が見ることができるすべてのファイルは英語のテキストのみであり、いくつかの文法記号 (/ 、 . - = + など)

なんで?

そうでない場合、テキスト ファイルを超圧縮する方法を教えてください。

私はその中で PHP 、 np でコーディングできます。

4

5 に答える 5

5

ファイルの圧縮率は、その内容によって異なります。

ほとんどの圧縮アルゴリズムは、繰り返されるデータを1回の繰り返しに変換し、繰り返される回数を指定することで機能します。

たとえば、文字をa1,000,000回含むファイルは、完全にランダムな内容のファイルよりもはるかに圧縮できます。

詳細については、詳細をお知らせください。

于 2010-05-25T16:30:35.820 に答える
2

このように考えてください...次を含むファイルがある場合:

abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc

ファイルは基本的に保存するだけですabc times 18

一方、このファイル:

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz

のみ保存できました:

abcdefghijklmnopqrstuvwxyz times 2

したがって、2 番目のファイルは最初は短いですが、最初のファイルよりも大きなファイルとして圧縮されます。

于 2010-05-25T16:33:27.630 に答える
1

圧縮は、入力データの重複を削除することで機能します。3.5GBのファイルは、重複データが多いため圧縮後ははるかに少なくなりますが、小さいファイルは重複データがあまり含まれていないため、それほど圧縮されません。

圧縮がどのように機能するかを理解したい場合は、ほとんどのzipユーティリティです。ウィキペディアのLempel-Ziv-Welchの記事を参照してください。これは、これらのアルゴリズムのほとんどが構築されているアルゴリズムです。

PHPは、その言語では、すでにPHP自体の一部であるCの完全に優れた既存のライブラリと比較して非常に遅くなるため、このようなプロジェクトでは間違った選択になる可能性があります。

于 2010-05-25T16:31:20.810 に答える
1

一般に、圧縮レベルは、アルゴリズムがファイル内で検出できる類似性とパターンの程度によって異なります。すべてのファイルに英語のテキストが含まれている場合、図は奇妙です。圧縮率が極端に高いファイルには、繰り返しテキスト セグメントの大きなチャンクが含まれているのではないかと強く疑っています。

于 2010-05-25T16:32:00.373 に答える
0

圧縮は、データの冗長性を取り除くことによって機能します。開始する決定的な場所はおそらく、この問題を直接扱った最初の影響力のある研究の 1 つであるHuffman Codingを使用することですが、情報理論に関するシャノンの元の研究をさらに掘り下げることもできます。

これらは新しい概念ではありません。非常に限られたチャネルでデータを効率的に送信することに人々が関心を持っていた 1940 年代と 50 年代に、最初に大きな関心を集めました。この主題は、コンピューティングだけに関心があるわけではありません。エントロピーやその他の基礎物理学との非常に深いつながりがあります。たとえば、完全に圧縮されたデータはホワイト ノイズと区別できないことがわかります。

于 2010-05-25T16:45:06.417 に答える