0

c/c++ でファイルを圧縮するにはどうすればよいですか? WinZip / WinRAR のようなアプリケーションを開発したいので。より単純なもの。

4

4 に答える 4

6

zlibを見てください。

于 2009-10-19T12:41:52.737 に答える
4

ハフマンコーディングを試してみてください。ハフマン コーディングの実装は、多くの CS プログラムで非常に標準的な課題です。

ウィキペディアより。

コンピューター サイエンスと情報理論では、ハフマン コーディングは、ロスレス データ圧縮に使用されるエントロピー エンコーディング アルゴリズムです。この用語は、ソース シンボル (ファイル内の文字など) をエンコードするための可変長コード テーブルの使用を指します。可変長コード テーブルは、各シンボルの推定発生確率に基づいて特定の方法で導出されます。ソースシンボルの可能な値。これは、David A. Huffman が博士号を取得していたときに開発されました。MIT の学生であり、1952 年の論文「A Method for the Construction of Minimum-Redundancy Codes」で発表されました。

于 2009-10-19T12:28:37.690 に答える
2

C++ 用の迅速でシンプルで使いやすい ZIP 圧縮ユーティリティ:

Zip Utils - クリーン、エレガント、シンプル、C++/Win32

于 2009-10-19T12:26:45.023 に答える
0

gzipbzip2を見てください。これらはどちらも、.zip よりも圧縮率が高く、広く使用されているファイル圧縮アルゴリズムですが、通常は 1 つのファイルを圧縮するためにのみ使用されます。アーカイブを作成するために、gzip と bzip2 はどちらも別の tar アプリケーションに依存しています。

winzip のように、gzip/bzip2ed ファイルを含むアーカイブを管理できる単一のアプリケーションを作成する場合、生の gzip/bzip2 よりも簡単です。

于 2009-10-19T13:53:39.293 に答える