ZIP 檔案格式

7z 存檔格式以其令人印象深刻的壓縮功能而聞名,是壓縮檔案和資料夾的通用且流行的選擇。它以其檔案副檔名“.7z”命名,由於能夠在保持資料完整性的同時減少檔案大小而被廣泛使用。

關於 7Zip 存檔訊息

7-Zip 是一種流行的開源檔案壓縮和解壓縮實用程序,以其高壓縮比和廣泛的格式支援而聞名。它不僅可以建立和提取 7z 格式的文件,還可以建立和提取其他幾種格式的文件,例如 ZIP 、TAR、GZIP 等。此外,7-Zip 還提供強大的加密選項,使其成為安全壓縮、存檔和保護資料的多功能工具。

7-Zip 存檔文件格式歷史信息

7z 格式由 Igor Pavlov 於 1999 年創建。它作為一種開源壓縮格式引入,主要專注於提供高壓縮比和強加密。隨著時間的推移,它因其在減小檔案大小方面的效率以及對各種壓縮演算法的支援而受到歡迎。

7 ZIP 存檔的架構

7z 存檔的結構是壓縮檔案和目錄的集合。它們具有組織良好的架構,具有標頭和資料流。這種結構允許高效提取特定文件,而無需解壓縮整個存檔,從而增強了格式的可用性。 7z 存檔可以是“可靠的”,並且可以將多個檔案合併為單一區塊,從而獲得更好的壓縮比。

7Zip 壓縮方法

  • LZMA(Lempel-Ziv-Markov 鏈演算法): LZMA 以其出色的壓縮比而聞名,是 7z 檔案的預設壓縮演算法。
  • LZMA2: LZMA 的改良版本,提供更快的壓縮和解壓縮速度。
  • PPMd(部分匹配預測): PPMd 專為文字壓縮而設計,可有效壓縮文件和基於文字的文件。
  • BZip2: 此演算法對於有效壓縮大檔案很有用。
  • Deflate: 一種廣泛使用的壓縮方法,以其壓縮比和速度之間的平衡而聞名。

7z 檔案提供了這樣的壓縮方法:

使用者可以根據自己的特定需求選擇最適合的壓縮方式。

7-Zip 存檔支援的操作

Aspose.ZIP 支援大多數 7z 檔案的合成和提取。它提取可以透過 7-zip 工具組成的大部分檔案。編碼器組合可能非常複雜 - 這就是為什麼 Aspose.ZIP 無法保證解壓縮每個有效的 7z 檔案。使用者可以使用上述所有方法編寫存檔並使用強大的 AES 演算法對其進行加密。使用 Aspose.ZIP ,您可以將相同的 7z 檔案分割 分成多個卷。

7Zip - 內部結構

7z 存檔格式中有一個精心設計的內部結構,這對於其效率和多功能性至關重要。了解這種結構可以揭示該格式的卓越功能。 7z 存檔的核心是標頭元數據,它儲存有關存檔內容的重要資訊。這些標頭包括壓縮檔案和目錄的名稱和屬性、壓縮方法以及加密設定等詳細資訊。該元資料的分層組織允許有效存取存檔中的特定文件,而無需解壓縮所有內容。

任何壓縮格式的核心都是其壓縮資料流。對於 7z,這些流保存存檔中每個檔案和目錄的壓縮資料。 7z 特別有效率的原因在於它能夠對各個流應用不同的壓縮方法,優化壓縮比,同時最大限度地減少處理時間。

7z 存檔的目錄結構類似於被壓縮的原始檔案和資料夾的佈局。此結構包括目錄及其各自檔案的層次結構,反映了未壓縮資料的組織。它允許在從存檔中提取時無縫導航和檢索特定文件。

7z 存檔可能包含可選的元資料和復原記錄。這些元素提供了附加功能,例如文件註釋、時間戳,甚至錯誤復原功能。後者尤其有價值,可以透過利用恢復記錄來部分或完全修復損壞的檔案。

7Zip - 內部結構

7z 存檔和支援的受歡迎程度

7z 檔案因其卓越的壓縮比和開源特性而獲得廣泛流行。它們受多個平台支持,包括 Windows、macOS 和 Linux,並且可以使用各種第三方應用程式和程式庫進行操作。因此,7z 格式是尋求高效壓縮和安全歸檔檔案和目錄的使用者的高級選擇。

使用 7Z 檔案的範例

7Z 存檔是一種普遍存在的用於壓縮和組織資料的檔案格式,這使得它們在各種軟體應用程式中至關重要。透過 .NET 進行檔案操作使開發人員能夠輕鬆地使用 Zip 檔案。在下面的程式碼範例中,我們將深入研究 7Zip 檔案的操作功能,示範如何 線上建立新的 7ZIP 檔案 檔案並高效解壓縮來自現有文件的文件。這些範例將幫助您利用 此程式庫 的功能在 .NET 專案中無縫管理 7z 存檔

Create a 7-Zip Single Entry

In the code example below, we illustrate the process of generating a 7-Zip entry through the utilization of a SevenZipArchive instance.

    using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
    {
        using (var archive = new SevenZipArchive())
        {
            archive.CreateEntry("data.bin", "file.dat");
            archive.Save(sevenZipFile);
        }
    }

Create 7-Zip Archive Entries

The SevenZipArchive class offers CreateEntries methods for the recursive addition of files and directories within a specified directory. The subsequent code example illustrates the creation of 7-Zip archive entries using these methods.

    using (SevenZipArchive archive = new SevenZipArchive())
    {
        archive.CreateEntries(dataDir);
        archive.Save("SevenZip.7z");
    }

7-Zip Encryption Settings

The Aspose.ZIP API features the SevenZipAESEncryptionSettings class, designed to offer settings for AES encryption and decryption in 7z archives. In the code example below, we demonstrate how to configure AES Encryption Settings for your archives.

    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(null, new SevenZipAESEncryptionSettings("p@s$"))))
    {
        archive.CreateEntry("data.bin", new MemoryStream(new byte[] { 0x00, 0xFF }));
        archive.Save("archive.7z");
    }

有關 Zip 檔案的其他信息

人們一直在問

1. 7-Zip 中最好的壓縮方法是什麼?

7-Zip 中的最佳壓縮方法取決於您的特定需求。您選擇的格式和設定應考慮多種因素,例如要壓縮的資料類型、壓縮率和速度之間的平衡以及與用於提取壓縮檔案的工具和軟體的兼容性。

2. 7Z 比 zip 更安全嗎?

最強大的格式是 7Z,緊隨其後的是 ZIP-AES-256。總之,在處理加密檔案時,沒有實際理由繼續使用標準 ZIP 格式。此外,建議在加密存檔時使用 強而安全的密碼

3. 7Z是開源的嗎?

是的,7-Zip 是一個開源檔案存檔器。它根據 GNU Lesser General Public License (LGPL) 分發,這意味著社群可以免費查看、修改和分發其原始碼。這種開源性質有助於其作為壓縮工具的廣泛使用和流行。