Формат ZIP-архива

Формат архива 7z, известный своими впечатляющими возможностями сжатия, является универсальным и популярным выбором для сжатия файлов и папок. Он назван в честь расширения файла «.7z» и широко используется благодаря способности уменьшать размеры файлов при сохранении целостности данных.

Информация об архиве 7Zip

7-Zip — популярная утилита для сжатия и распаковки файлов с открытым исходным кодом, известная своей высокой степенью сжатия и обширной поддержкой форматов. Он может создавать и извлекать файлы не только в формате 7z, но и в нескольких других форматах, таких как ZIP , TAR, GZIP и других. Кроме того, 7-Zip предоставляет надежные возможности шифрования, что делает его универсальным инструментом для безопасного сжатия, архивирования и защиты данных.

Информация об истории формата архивного файла 7-Zip

Формат 7z был создан Игорем Павловым в 1999 году. Он был представлен как формат сжатия с открытым исходным кодом, в котором основное внимание уделялось обеспечению высокой степени сжатия и надежному шифрованию. Со временем он приобрел популярность благодаря своей эффективности в уменьшении размера файлов и поддержке различных алгоритмов сжатия.

Структура 7 ZIP-архива

Архивы 7z структурированы как коллекции сжатых файлов и каталогов. Они имеют хорошо организованную архитектуру с заголовками и потоками данных. Эта структура позволяет эффективно извлекать определенные файлы без необходимости распаковывать весь архив, что повышает удобство использования формата. Архивы 7z могут быть «сплошными» и иметь лучшую степень сжатия, объединяя несколько файлов в один блок.

7 методов сжатия Zip

  • LZMA (алгоритм цепочки Лемпеля-Зива-Маркова): Известный своей превосходной степенью сжатия, 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 онлайн архивы и эффективно извлекать их. файлы из существующих. Эти примеры помогут вам использовать возможности этой библиотеки для беспрепятственного управления архивами 7z в ваших проектах .NET.

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), что означает, что его исходный код свободно доступен для просмотра, изменения и распространения сообществом. Открытый исходный код способствовал его широкому использованию и популярности в качестве инструмента сжатия.