7-Zip — Википедия

7-Zip
Логотип программы 7-Zip
Скриншот программы 7-Zip
Тип Архиватор
Разработчики Павлов, Игорь Викторович[d]
Написана на C++[6] и Си[6]
Интерфейс графический,
командная строка
Операционные системы Windows, Linux[1],
порт p7zip для Linux, macOS и др. UNIX-подобных[2], ReactOS
Языки интерфейса Многоязычный
Первый выпуск 18 июля 1999[3]
Последняя версия
Репозиторий sourceforge.net/projects…
Состояние Актуальное
Лицензия GNU LGPL
Сайт 7-zip.org
Логотип Викисклада Медиафайлы на Викискладе

7-Zip — свободный файловый архиватор с высокой степенью сжатия данных. Поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA. Программа разрабатывается с 1999 года, она бесплатна и имеет открытый исходный код, большая часть которого свободно распространяется на условиях лицензии GNU LGPL, за исключением кода распаковщика UnRAR, который имеет ограничения. Основная платформа — Windows (в том числе Windows CE), где доступны две версии программы: с графическим интерфейсом и версия для командной строки. Консольная версия была портирована сообществом разработчиков для систем стандарта POSIX под общим названием p7zip[7]. Портированные версии для других систем, также как и оригинальная программа 7-Zip, доступны на сайте системы SourceForge (по состоянию на 5 сентября 2017 года, программа была скачана с сайта более 412 млн раз[8]). 7-Zip является победителем SourceForge.net Community Choice Awards 2007 года в категориях «Лучший проект» и «Лучший технический дизайн»[9].

Основные характеристики 7-Zip[править | править код]

  • Поддерживаемые алгоритмы:
    LZMA, LZMA2, PPMd, Bzip2, Deflate и Deflate64
  • Поддерживаемые форматы:
    • упаковка и распаковка: 7z, BZIP2 (BZ2, TB2, TBZ, TBZ2), GZIP (GZ, TGZ), TAR, ZIP (JAR), XZ, WIM;
    • только распаковка: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, MBR, ISO, LZH (LHA), LZMA, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, XAR, Z (TAR).
    • Также 7-Zip имеет собственную систему плагинов, позволяющую сторонним разработчикам добавлять в 7-Zip поддержку дополнительных форматов файлов. Существуют плагины[10], позволяющие распаковывать следующие форматы: LZIP, ASAR, CCD/IMG, CDI, CHD (v4), CSO, CUE/BIN, ECM, GDI, ISZ, MDS/MDF, NRG, S01, E01, Ex01, L01, Lx01, AFF, AD1, MIME, UUE, XXE, yEnc.
  • Очень высокая степень сжатия в формате 7z благодаря использованию усовершенствованного алгоритма Лемпеля-Зива.
  • Для форматов ZIP и GZIP степень сжатия на 2-10 % выше, чем у PKZIP и WinZip.
  • Возможность создания самораспаковывающихся архивов для формата 7z.
  • Возможность создания многотомных (порезанных на части) архивов (за исключением самораспаковывающихся) для формата 7z.
  • Возможность шифрования алгоритмом AES-256 для форматов 7z и ZIP.
  • Поддержка аппаратного ускорения, доступного на процессорах, реализующих набор инструкций AES-NI.
  • Интеграция в оболочку Windows и Windows NT.
  • Плагины для программ FAR Manager, Total Commander и Unreal Commander.
  • Встроенная утилита для тестирования производительности.
  • Многоязычный графический интерфейс (только для Windows) с функциями двухоконного файлового менеджера.
  • Мощная версия для командной строки.
  • Специальная версия для 64-разрядных операционных систем Windows.
  • Поддержка кодировки Юникод для имён файлов.

Сжатие[править | править код]

7-Zip использует многопоточность и позволяет задействовать для сжатия, в зависимости от алгоритма или формата, различное количество потоков. При создании архивов, в которых файлы сжимаются независимо друг от друга (например ZIP), программа может использовать до восьми потоков одновременно. Для алгоритма сжатия LZMA архиватор одновременно может использовать до двух потоков. Невозможность использования большего их количества объясняется последовательным характером непрерывного сжатия. Алгоритм сжатия LZMA2 не имеет этого недостатка.

При сжатии в формате 7z также используются специальные фильтры-нормализаторы. Так, для более оптимального сжатия 32-разрядного x86-кода используются нормализующие конвертеры BCJ и BCJ2. Кроме того, программа имеет оптимизирующий дельта-конвертер для некоторых типов мультимедийных данных, например несжатых 24-битных изображений.

Степень упаковки сильно зависит от характера сжимаемых данных. Обычно формат 7z даёт на 4-25 % лучшее сжатие, чем формат ZIP.

В итоговом рейтинге сайта MaximumCompression.com архиватор 7-Zip v9.25a занял 24 место по степени сжатия, обойдя WinRAR v4.1 beta 3 (на 3,6 %) и WinZip v14 (на 4,2 %). Лидеры же рейтинга — PAQ8PX и WinRK — превосходят 7-Zip в сжатии на 28 % и 24 % соответственно, но тратят на упаковку гораздо больше времени[11].

Недостатки[править | править код]

  • 7-Zip не обеспечивает способа управлять порядком файлов внутри архивов. Он игнорирует порядок имён файлов в командной строке. Следовательно, 7-Zip не может использоваться в тех случаях, когда порядок имён файлов имеет значение. Например, формат EPUB, который основан на форматах ZIP и HTML, требует определённого порядка файлов в архивах: файл с именем «MimeType» должен быть первым файлом в архиве ZIP.
  • Архивы формата 7z не имеют защиты от повреждений — ни структуры архива, ни упакованных данных (в отличие от архивов RAR). Поэтому при случайном или преднамеренном повреждении архива 7z данные оказываются безвозвратно утерянными.

Автор программы и история создания[править | править код]

Автором программы является Игорь Викторович Павлов[12] — российский разработчик, кандидат технических наук, выпускник аспирантуры кафедры информатики факультета информатики и робототехники Уфимского государственного авиационного технического университета[13]. Основные идеи использованных в 7-Zip алгоритмов описаны в его кандидатской диссертации[14].

Примечания[править | править код]

  1. Igor Pavlov: 7-Zip for Linux (англ.) (10 марта 2021). Дата обращения: 18 марта 2021. Архивировано 18 марта 2021 года.
  2. Страница загрузки. Дата обращения: 12 декабря 2011. Архивировано 13 сентября 2010 года.
  3. History of the 7-Zip (англ.)
  4. 7-zip: Download
  5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 http://www.7-zip.org/
  6. 1 2 https://sourceforge.net/projects/sevenzip/
  7. p7zip. Дата обращения: 22 июня 2006. Архивировано 4 октября 2005 года.
  8. SourceForge.net: Project Statistics For 7-Zip Архивировано 20 сентября 2005 года.
  9. SourceForge.net: 2007 Community Choice Awards. Дата обращения: 26 марта 2010. Архивировано 26 марта 2010 года.
  10. Плагины для архиватора 7-Zip. Дата обращения: 26 февраля 2019. Архивировано 26 февраля 2019 года.
  11. Best overall compression program. Дата обращения: 17 сентября 2009. Архивировано 17 апреля 2009 года.
  12. A Few Questions for Igor Pavlov. Dr. Dobb's Data Compression Newsletter (middle of page) (30 апреля 2003). Дата обращения: 26 декабря 2009. Архивировано 28 октября 2008 года.
  13. Павлов Игорь Викторович на сайте проекта «Годы и люди» Уфимского авиационного государственного технического университета (недоступная ссылка — история).
  14. Павлов, Игорь Викторович. Модифицированный алгоритм Лемпела-Зива эффективного сжатия информации с использованием статистических прогнозирующих моделей: дис. … канд. техн. наук: 05.13.11. — Уфа: Уфимский государственный авиационно-технический университет, 2002. — 114 с. Архивировано 16 января 2020 года.

Литература[править | править код]

  • Salomon, D. and Bryant, D. and Motta, G. Handbook of Data Compression. — Springer London, 2010. — P. 411—414. — 1361 p. — ISBN 9781848829039.

Ссылки[править | править код]

  • Официальный сайт (англ.)
  • 7-Zip (англ.) на сайте SourceForge
  • Скачать 7-Zip (англ.) на сайте SourceForge
  • Ссылки на альфа-версии в разделе Open Discussion (англ.) на сайте SourceForge форума проекта 7-Zip, там же можно получить и консультацию от разработчика (альфа- и бета-версии 7-Zip зачастую являются развитием стабильных версий с улучшениями и исправлениями багов).