RAR アーカイブ形式

データが重要でストレージ効率が最優先されるデジタル時代において、RAR アーカイブはファイルの圧縮と整理のための安定したユビキタスなソリューションであり続けています。

RAR アーカイブ情報について

「Roshal Archive」の略称である RAR アーカイブ形式は、ファイルやフォルダーの整合性を維持しながらサイズを削減するように設計された、広く使用され評価されている圧縮形式です。 Eugene Roshal によって開発された RAR は、高い圧縮率とさまざまな圧縮方法のサポートで知られています。

RAR アーカイブ ファイル形式の履歴情報

RAR は 1990 年代初頭に Eugene Roshal によって作成されました。これは当初、効率的な圧縮とエラー回復に重点を置いた独自の形式として導入されました。 RAR は、その卓越した圧縮機能と堅牢な機能により、長年にわたり人気を博してきました。 RAR は当初クローズドソースでしたが、その後部分的にオープン化され、解凍アルゴリズムが一般に公開されました。 2013 年以降、形式のバージョン 5 がデフォルトのオプションになりました。従来の 4 バージョンへの圧縮は、最新の WinRAR で引き続き実行可能です。

RAR アーカイブの構造

RAR アーカイブは、圧縮ファイルとフォルダーのコレクションとして構造化されています。通常、これらは一連のブロックで構成され、それぞれがアーカイブ内で特定の目的を果たします。これらのブロックには、ファイル データ、ヘッダー、および破損したアーカイブの修復に使用できるオプションのリカバリ レコードが含まれます。大規模なアーカイブは、より小さな部分に分割したり、再び結合したりすることができます。自己解凍アーカイブも作成できます。

RAR 圧縮方法

RAR には圧縮アルゴリズムが 1 つだけあります。この形式は、コンテンツとファイル名の両方に対して強力な AES 暗号化をサポートしています。 WinRAR では、複数のファイルを一緒に分析することで、より優れた圧縮率を提供する「ソリッド」アーカイブを作成できます。古いバージョンの RAR4 は、テキスト、オーディオ、画像データの専用圧縮をオプションでサポートしています。

RAR アーカイブでサポートされる操作

Aspose.ZIP を使用すると、ユーザーは特定のエントリまたはアーカイブ全体を抽出できます。 RAR アーカイブの作成と変更はサポートされていません。 Aspose.ZIP は、最新の RAR5 バージョンと従来の RAR4 バージョンのアーカイブを抽出できます。

RAR ファイル - 内部構造

RAR アーカイブには、ヘッダー、圧縮データ、およびオプションのリカバリ レコードで構成される階層的な内部構造があります。この構造により、アーカイブ全体を解凍せずに、特定のファイルを効率的に抽出できます。そこでアーカイブが暗号化されている場合は、暗号化ヘッダーが含まれます。メイン ヘッダーには、アーカイブ全体をスキャンせずにさまざまなサービス ブロックの位置に迅速にアクセスするためのオプションのロケーターが含まれています。各エントリにはファイルとサービス ヘッダーがあります。これらのヘッダーには、チェックサム、システム時刻、名前などの詳細を含むファイル属性とメタデータが含まれています。

RAR ファイル - 内部構造

RAR アーカイブの人気とサポート

RAR アーカイブは、その優れた圧縮率と汎用性により、ファイルの圧縮と共有に広く使用されています。これらは Windows と macOS の両方のエコシステムで人気があり、さまざまなソフトウェア ツールから強力なサポートを受けています。 RAR は完全にオープンソースではありませんが、多数のサードパーティ アプリケーションやライブラリが、さまざまなプラットフォーム間での RAR アーカイブの作成、抽出、管理をサポートしています。

RAR の使用例

Aspose.ZIP API を使用すると、他のサードパーティ アプリケーションを必要とせずに、アプリケーションでアーカイブを抽出できます。 Aspose.ZIP API は、RAR アーカイブを操作するための RARArchive クラスを提供します。 PI は、RAR アーカイブ内の単一のファイルを表すための RARArchiveEntry クラスを提供します。

Extract an RAR Entry

The following code example demonstrates how to extract an entry using RarArchive instance.

    using (RarArchive archive = new RarArchive("archive.rar"))
    {
        using (var destination = File.Create(dataDir + "firstEntry.txt"))
        {
                using (var source = archive.Entries[0].Open())
                {
                    byte[] buffer = new byte[1024];
                    int bytesRead;
                    while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)                       
                        destination.Write(buffer, 0, bytesRead);
                            
                }                    
        }
    }

Extract an Encrypted Entry

The following code example demonstrates how to extract an encrypted entry using RarArchive instance.

    FileInfo fi = new FileInfo("encrypted.rar");
    using (RarArchive archive = new RarArchive(fi.OpenRead()))
    {
        using (var destination = File.Create(dataDir + "firstEntry.txt"))
        {
            archive.Entries[0].Extract(destination, "p@s$w0rd");                
        }
    }

Extracting Compressed Directory

The following code example demonstrates how to all the files from RarArchive instance.

    using (RarArchive archive = new RarArchive("archive.rar"))
    {
        archive.ExtractToDirectory("extracted");
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

RAR アーカイブに関する追加情報

人々は尋ねてきました

1. RAR は ZIP よりも効率的ですか?

RAR が ZIP より効率的かどうかは、特定の使用例と圧縮されるデータの種類によって異なります。 RAR と ZIP はどちらも一般的なアーカイブ形式ですが、圧縮効率、機能、互換性の点でいくつかの違いがあります。

2. RAR アーカイブを作成するにはどうすればよいですか?

合成できる唯一のツールは WinRAR です。 RAR ライセンス であるため、他のソフトウェア部分やライブラリは見つかりません。

3. すべての RAR ファイルは安全ですか?

RAR ファイル自体は、 ZIP ファイル と同様、さまざまな種類のデータを保持できるアーカイブ コンテナーにすぎないため、通常は安全です。ただし、RAR ファイルの安全性は、ファイルが保持するコンテンツとそのソースによって異なります。