7z: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
{{Перевести|en|7z}} {{Compu-file-format-stub}}
Переведено с английской версии.
Строка 13: Строка 13:
}}
}}


'''7z''' — это свободный<ref name="History" /> формат [[Сжатие данных|сжатия данных]], поддерживающий несколько различных алгоритмов [[Сжатие данных|сжатия]] и [[Шифрование|шифрования]] данных. Формат 7z изначально был реализован в архиваторе [[7-Zip]]. Архиватор 7-Zip публично доступен для использования под лицензией [[GNU Lesser General Public License]].
'''7z''' - формат сжатия файлов в архив, поддерживающий несколько различных алгоритмов сжатия, шифрования и предварительной обработки данных. Формат 7z изначально был выпущен как архиватор 7-Zip . Программа 7-Zip общедоступна в соответствии с условиями "Стандартной общественной лицензии GNU Lesser" . LZMA SDK 4.62 был размещен в открытом доступе в декабре 2008 года. Последняя стабильная версия 7-Zip и LZMA SDK - это версия 19.00.


Спецификация формата файла 7z распространяется с исходным кодом 7-Zip. Спецификацию можно найти в текстовом формате в подкаталоге 'doc' дистрибутива исходного кода.
[[Internet media type|MIME-тип]] файлов, заархивированных с помощью 7z — <code>application/x-7z-compressed</code>.


==Особенности и улучшения==
Официальная спецификация формата 7z распространяется совместно с исходным кодом архиватора 7-Zip. Спецификация в текстовом виде находится в папке 'doc' исходного кода поставки.
Формат 7z обеспечивает следующие основные функции:


* Открытая модульная архитектура, которая позволяет использовать любой метод сжатия, преобразования или шифрования.
== Примечания ==
* Высокие коэффициенты сжатия (в зависимости от используемого метода сжатия)
{{примечания}}
* AES- 256 шифрование .
* Поддержка больших файлов (примерно до 16 exbibytes , или 2 <sup>64</sup> байта).
* [https://en.wikipedia.org/wiki/Unicode]Имена файлов Unicode .
* Поддержка сплошного сжатия , при котором несколько файлов одинакового типа сжимаются в одном потоке, чтобы использовать объединенную избыточность, присущую аналогичным файлам.
* Сжатие и шифрование заголовков архива .
* Поддержка архивов, состоящих из нескольких частей: например, xxx.7z.001, xxx.7z.002, ... (см. Пункты контекстного меню « ''Разделить файл ...»,'' чтобы создать их, и « ''Объединить файлы ...»,'' чтобы повторно собрать архив из набор многокомпонентных файлов компонентов)
* Поддержка пользовательских библиотек плагинов кодеков.

Открытая архитектура формата позволяет добавлять в стандарт дополнительные будущие методы сжатия.

==Методы сжатия==
В настоящее время определены следующие методы сжатия:

* LZMA  - вариант алгоритма , использующий словарь объёмом до 4 ГБ. За этапом LZ следует энтропийное кодирование с использованием кодера дальности на основе цепей Маркова и двоичного кода.
* LZMA2  - модифицированная версия LZMA, обесп[https://en.wikipedia.org/wiki/Range_encoding] - это сжатый [https://en.wikipedia.org/wiki/Binary_tree] - это сжатый ечивающая лучшую поддержку многопоточности и меньшее расширение несжимаемых данных.
* Bzip2  - стандартный алгоритм преобразования Берроуза-Уилера . Bzip2 использует два обратимых преобразования; BWT, затем перемещает дальше с кодированием Хаффмана для уменьшения символов (фактический элемент сжатия).
* PPMd  - PPMdH Дмитрия Шкарина 2002 года (PPMII / cPPMII) с небольшими изменениями: PPMII - улучшенная версия алгоритма сжатия PPM 1984 года (прогнозирование путем частичного сопоставления).
* DEFLATE  - Стандартный алгоритм, основанный на кодировании LZ77 32 кБ и кодировании Хаффмана . Deflate встречается в нескольких форматах файлов, включая ZIP , gzip , PNG и PDF . 7-Zip содержит кодер DEFLATE с нуля.

Набор инструментов повторного сжатия, называемый AdvanceCOMP, содержит копию кодера DEFLATE из реализации 7-Zip; Эти утилиты можно использовать для дальнейшего сжатия размера существующих файлов gzip , ZIP , PNG или MNG .
==Фильтры предварительной обработки==
LZMA SDK поставляется с включенными препроцессорами BCJ и BCJ2 , так что на более поздних этапах может достигаться большее сжатие: для процессоров x86 , ARM , PowerPC (PPC), IA-64 Itanium и ARM Thumb цели перехода «нормализованы» до сжатия путем изменения относительного положения в абсолютные значения. Для x86 это означает, что ближние переходы, вызовы и условные переходы (но не короткие переходы и условные переходы).

* BCJ  - конвертер для 32-битных файлов x86.
* BCJ2  - препроцессор для 32-битных файлов x86. BCJ2 является улучшением BCJ, добавляя дополнительную обработку команд перехода / вызова x86. Ближний прыжок, ближний вызов, условные ближние прыжки цели разделяются и сжимаются отдельно в другом потоке.
* Дельта-кодирование  - дельта-фильтр, базовый препроцессор для мультимедийных данных.

Подобная исполняемая технология предварительной обработки включена в другое программное обеспечение; RAR компрессор оснащен смещения сжатия для 32-разрядных x86 исполняемых файлов и IA-64 исполняемых файлов, а UPX выполнения компрессор исполняемых файлов включает в себя поддержку для работы с 16-битными значениями в пределах DOS бинарных файлов.
==Шифрование==
Формат 7z поддерживает шифрование по алгоритму AES с 256-битным ключом. Ключ генерируется из предоставленной пользователем парольной фразы с использованием алгоритма, основанного на хэш-функции SHA-256 . SHA-256 выполняется 2 <sup>18</sup> (262144) раз,  что вызывает значительную задержку на низкопроизводительных ПК перед началом сжатия или извлечения. Этот метод называется растягиванием клавиш и используется для более сложного поиска парольной фразы. Текущие атаки на основе графического процессора и пользовательские аппаратные средства ограничивают эффективность этого конкретного метода растяжения ключа. поэтому все еще важно выбрать надежный пароль. Формат 7z позволяет шифровать имена файлов архива 7z.

==Форматы==
Формат 7z не хранит разрешения файловой системы (например, разрешения владельца / группы UNIX или списки ACL NTFS ) и, следовательно, может не подходить для целей резервного копирования / архивирования. Обходной путь в UNIX-подобных системах для этого необходимо преобразовать данные в поток битов tar перед сжатием в 7z. Но стоит отметить, что GNU tar (распространенный во многих средах UNIX) также может сжимать с помощью алгоритма LZMA без использования 7z, и что в этом случае предложенный. Расширение файла для архива - ".tar.lzma" (или просто ".tlz"), а не ".tar.7z". С другой стороны, важно отметить, что tar не сохраняет кодировку файловой системы, что означает, что сжатые tar-файлы имена файлов могут стать нечитаемыми, если они распакованы на другом компьютере. Также можно использовать LZMA2, запустив его через инструмент xz . Последние версии GNU tar поддерживают <code>-J</code>коммутатор, который запускает TAR через XZ. Расширение файла: «.tar.xz» или «.txz». Этот метод сжатия был принят во многих дистрибутивах для упаковки, таких как Arch, Debian (deb), Fedora (rpm) и Slackware.

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

==Ссылки==
[www.7-zip.org]


<nowiki>[[Категория:Архиваторы]]</nowiki>

<nowiki>[[Категория:Архиваторы и компрессоры]]</nowiki>

<nowiki>[[Категория:Сжатие данных]]</nowiki>{{примечания}}


{{Архиваторы}}
{{Архиваторы}}

Версия от 09:24, 18 декабря 2019

7z
Расширение .7z[2]
MIME-тип application/x-7z-compressed[3]
Сигнатура '7', 'z', 0xBC, 0xAF, 0x27, 0x1C
Разработчик Павлов, Игорь Викторович[d]
Опубликован 1999[1]
Тип формата Сжатие данных
Открытый формат? Да: GNU Lesser General Public License
Сайт 7-zip.org/7z.html (англ.)

7z - формат сжатия файлов в архив, поддерживающий несколько различных алгоритмов сжатия, шифрования и предварительной обработки данных. Формат 7z изначально был выпущен как архиватор 7-Zip . Программа 7-Zip общедоступна в соответствии с условиями "Стандартной общественной лицензии GNU Lesser" . LZMA SDK 4.62 был размещен в открытом доступе в декабре 2008 года. Последняя стабильная версия 7-Zip и LZMA SDK - это версия 19.00.

Спецификация формата файла 7z распространяется с исходным кодом 7-Zip. Спецификацию можно найти в текстовом формате в подкаталоге 'doc' дистрибутива исходного кода.

Особенности и улучшения

Формат 7z обеспечивает следующие основные функции:

  • Открытая модульная архитектура, которая позволяет использовать любой метод сжатия, преобразования или шифрования.
  • Высокие коэффициенты сжатия (в зависимости от используемого метода сжатия)
  • AES- 256 шифрование .
  • Поддержка больших файлов (примерно до 16 exbibytes , или 2 64 байта).
  • [1]Имена файлов Unicode .
  • Поддержка сплошного сжатия , при котором несколько файлов одинакового типа сжимаются в одном потоке, чтобы использовать объединенную избыточность, присущую аналогичным файлам.
  • Сжатие и шифрование заголовков архива .
  • Поддержка архивов, состоящих из нескольких частей: например, xxx.7z.001, xxx.7z.002, ... (см. Пункты контекстного меню « Разделить файл ...», чтобы создать их, и « Объединить файлы ...», чтобы повторно собрать архив из набор многокомпонентных файлов компонентов)
  • Поддержка пользовательских библиотек плагинов кодеков.

Открытая архитектура формата позволяет добавлять в стандарт дополнительные будущие методы сжатия.

Методы сжатия

В настоящее время определены следующие методы сжатия:

  • LZMA  - вариант алгоритма , использующий словарь объёмом до 4 ГБ. За этапом LZ следует энтропийное кодирование с использованием кодера дальности на основе цепей Маркова и двоичного кода.
  • LZMA2  - модифицированная версия LZMA, обесп[2] - это сжатый [3] - это сжатый ечивающая лучшую поддержку многопоточности и меньшее расширение несжимаемых данных.
  • Bzip2  - стандартный алгоритм преобразования Берроуза-Уилера . Bzip2 использует два обратимых преобразования; BWT, затем перемещает дальше с кодированием Хаффмана для уменьшения символов (фактический элемент сжатия).
  • PPMd  - PPMdH Дмитрия Шкарина 2002 года (PPMII / cPPMII) с небольшими изменениями: PPMII - улучшенная версия алгоритма сжатия PPM 1984 года (прогнозирование путем частичного сопоставления).
  • DEFLATE  - Стандартный алгоритм, основанный на кодировании LZ77 32 кБ и кодировании Хаффмана . Deflate встречается в нескольких форматах файлов, включая ZIP , gzip , PNG и PDF . 7-Zip содержит кодер DEFLATE с нуля.

Набор инструментов повторного сжатия, называемый AdvanceCOMP, содержит копию кодера DEFLATE из реализации 7-Zip; Эти утилиты можно использовать для дальнейшего сжатия размера существующих файлов gzip , ZIP , PNG или MNG .

Фильтры предварительной обработки

LZMA SDK поставляется с включенными препроцессорами BCJ и BCJ2 , так что на более поздних этапах может достигаться большее сжатие: для процессоров x86 , ARM , PowerPC (PPC), IA-64 Itanium и ARM Thumb цели перехода «нормализованы» до сжатия путем изменения относительного положения в абсолютные значения. Для x86 это означает, что ближние переходы, вызовы и условные переходы (но не короткие переходы и условные переходы).

  • BCJ  - конвертер для 32-битных файлов x86.
  • BCJ2  - препроцессор для 32-битных файлов x86. BCJ2 является улучшением BCJ, добавляя дополнительную обработку команд перехода / вызова x86. Ближний прыжок, ближний вызов, условные ближние прыжки цели разделяются и сжимаются отдельно в другом потоке.
  • Дельта-кодирование  - дельта-фильтр, базовый препроцессор для мультимедийных данных.

Подобная исполняемая технология предварительной обработки включена в другое программное обеспечение; RAR компрессор оснащен смещения сжатия для 32-разрядных x86 исполняемых файлов и IA-64 исполняемых файлов, а UPX выполнения компрессор исполняемых файлов включает в себя поддержку для работы с 16-битными значениями в пределах DOS бинарных файлов.

Шифрование

Формат 7z поддерживает шифрование по алгоритму AES с 256-битным ключом. Ключ генерируется из предоставленной пользователем парольной фразы с использованием алгоритма, основанного на хэш-функции SHA-256 . SHA-256 выполняется 2 18 (262144) раз,  что вызывает значительную задержку на низкопроизводительных ПК перед началом сжатия или извлечения. Этот метод называется растягиванием клавиш и используется для более сложного поиска парольной фразы. Текущие атаки на основе графического процессора и пользовательские аппаратные средства ограничивают эффективность этого конкретного метода растяжения ключа. поэтому все еще важно выбрать надежный пароль. Формат 7z позволяет шифровать имена файлов архива 7z.

Форматы

Формат 7z не хранит разрешения файловой системы (например, разрешения владельца / группы UNIX или списки ACL NTFS ) и, следовательно, может не подходить для целей резервного копирования / архивирования. Обходной путь в UNIX-подобных системах для этого необходимо преобразовать данные в поток битов tar перед сжатием в 7z. Но стоит отметить, что GNU tar (распространенный во многих средах UNIX) также может сжимать с помощью алгоритма LZMA без использования 7z, и что в этом случае предложенный. Расширение файла для архива - ".tar.lzma" (или просто ".tlz"), а не ".tar.7z". С другой стороны, важно отметить, что tar не сохраняет кодировку файловой системы, что означает, что сжатые tar-файлы имена файлов могут стать нечитаемыми, если они распакованы на другом компьютере. Также можно использовать LZMA2, запустив его через инструмент xz . Последние версии GNU tar поддерживают -Jкоммутатор, который запускает TAR через XZ. Расширение файла: «.tar.xz» или «.txz». Этот метод сжатия был принят во многих дистрибутивах для упаковки, таких как Arch, Debian (deb), Fedora (rpm) и Slackware.

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

Ссылки

[www.7-zip.org]


[[Категория:Архиваторы]]

[[Категория:Архиваторы и компрессоры]]

[[Категория:Сжатие данных]]