Định dạng lưu trữ RAR

Trong thời đại kỹ thuật số, nơi dữ liệu là vua và hiệu quả lưu trữ là tối quan trọng, kho lưu trữ RAR vẫn là giải pháp ổn định và phổ biến để nén và sắp xếp tệp.

Giới thiệu về thông tin lưu trữ RAR

Định dạng lưu trữ RAR, viết tắt của ‘Roshal Archive’, là định dạng nén được sử dụng rộng rãi và được đánh giá cao, được thiết kế để giảm kích thước tệp và thư mục trong khi vẫn đảm bảo tính toàn vẹn của chúng. Được phát triển bởi Eugene Roshal, RAR được biết đến với tỷ lệ nén cao và hỗ trợ nhiều phương pháp nén khác nhau.

Lưu trữ RAR Thông tin lịch sử định dạng tệp

RAR được tạo ra bởi Eugene Roshal vào đầu những năm 1990. Ban đầu nó được giới thiệu như một định dạng độc quyền với trọng tâm là nén và phục hồi lỗi hiệu quả. Trong những năm qua, RAR đã trở nên phổ biến nhờ khả năng nén đặc biệt và các tính năng mạnh mẽ. Mặc dù RAR ban đầu là nguồn đóng nhưng sau đó nó đã được mở một phần, với các thuật toán giải nén được cung cấp cho công chúng. Kể từ năm 2013, phiên bản 5 của định dạng đã trở thành tùy chọn mặc định. Việc nén sang phiên bản cũ 4 vẫn khả thi bằng WinRAR hiện đại.

Cấu trúc của kho lưu trữ RAR

Kho lưu trữ RAR được cấu trúc dưới dạng tập hợp các tệp và thư mục nén. Chúng thường bao gồm một loạt các khối, mỗi khối phục vụ một mục đích cụ thể trong kho lưu trữ. Các khối này bao gồm dữ liệu tệp, tiêu đề và bản ghi khôi phục tùy chọn, có thể được sử dụng để sửa chữa các kho lưu trữ bị hỏng. Các kho lưu trữ lớn có thể được chia thành các phần nhỏ hơn hoặc hợp nhất lại với nhau. Lưu trữ tự giải nén cũng có thể được tạo.

Phương pháp nén RAR

RAR chỉ có một thuật toán nén. Định dạng này hỗ trợ mã hóa AES mạnh cho cả nội dung và tên tệp. WinRAR cho phép tạo các kho lưu trữ “rắn” mang lại tỷ lệ nén tốt hơn bằng cách phân tích nhiều tệp cùng nhau. Phiên bản lỗi thời RAR4 tùy chọn hỗ trợ nén chuyên dụng cho dữ liệu văn bản, âm thanh và hình ảnh.

Hoạt động được hỗ trợ lưu trữ RAR

Aspose.ZIP cho phép người dùng trích xuất mục nhập cụ thể hoặc toàn bộ kho lưu trữ. Việc tạo và sửa đổi kho lưu trữ RAR không được hỗ trợ. Aspose.ZIP có thể trích xuất các phiên bản lưu trữ RAR5 hiện đại và RAR4 cũ.

Tệp RAR - Cấu trúc bên trong

Các kho lưu trữ RAR có cấu trúc bên trong phân cấp bao gồm các tiêu đề, dữ liệu nén và các bản ghi khôi phục tùy chọn. Cấu trúc cho phép trích xuất hiệu quả các tệp cụ thể mà không cần giải nén toàn bộ kho lưu trữ. Nếu kho lưu trữ được mã hóa thì nó chứa tiêu đề mã hóa. Tiêu đề chính bao gồm bộ định vị tùy chọn để truy cập nhanh vào vị trí của các khối dịch vụ khác nhau mà không cần quét toàn bộ kho lưu trữ. Mỗi mục có tiêu đề tệp và dịch vụ. Các tiêu đề đó chứa các thuộc tính tệp và siêu dữ liệu, bao gồm tổng kiểm tra, thời gian hệ thống, tên và các chi tiết tương tự.

Tệp RAR - Cấu trúc bên trong

Mức độ phổ biến của việc lưu trữ và hỗ trợ RAR

Kho lưu trữ RAR được sử dụng rộng rãi để nén và chia sẻ tệp do tỷ lệ nén tuyệt vời và tính linh hoạt của chúng. Chúng phổ biến trong cả hệ sinh thái Windows và macOS và được hỗ trợ mạnh mẽ từ nhiều công cụ phần mềm khác nhau. Mặc dù RAR không hoàn toàn là nguồn mở nhưng nhiều ứng dụng và thư viện của bên thứ ba cung cấp hỗ trợ để tạo, trích xuất và quản lý các kho lưu trữ RAR trên các nền tảng khác nhau.

Ví dụ về việc sử dụng RAR

API Aspose.ZIP cho phép trích xuất các kho lưu trữ trong ứng dụng của bạn mà không cần bất kỳ ứng dụng bên thứ 3 nào khác. API Aspose.ZIP cung cấp lớp RarArchive để hoạt động với các kho lưu trữ RAR. PI cung cấp lớp RarArchiveEntry để thể hiện một tệp duy nhất trong kho lưu trữ RAR.

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");
    }

Thông tin bổ sung về kho lưu trữ Zip

Mọi người đã hỏi

1. RAR có hiệu quả hơn ZIP không?

Việc RAR có hiệu quả hơn ZIP hay không tùy thuộc vào trường hợp sử dụng cụ thể và loại dữ liệu được nén. Cả RAR và ZIP đều là các định dạng lưu trữ phổ biến nhưng chúng có một số khác biệt về hiệu quả nén, tính năng và khả năng tương thích.

2. WinRAR sử dụng thuật toán nào?

WinRAR chủ yếu sử dụng Công nghệ mã hóa AES-256 Bit, một thuật toán nén độc quyền được phát triển bởi Eugene Roshal, người tạo ra WinRAR. Thuật toán RAR được biết đến với tỷ lệ nén cao, có thể dẫn đến các tệp lưu trữ nhỏ hơn so với một số thuật toán nén khác.

3. Tất cả các tệp RAR có an toàn không?

Bản thân các tệp RAR thường an toàn vì chúng chỉ là các thùng lưu trữ có thể chứa nhiều loại dữ liệu khác nhau, tương tự như tệp ZIP . Tuy nhiên, độ an toàn của tệp RAR phụ thuộc vào nội dung và nguồn của nó.