ZIP

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Zip
Расширение

.zip
.zipx (новые алгоритмы сжатия)

MIME-тип

application/zip[1]

Сигнатура

нет, хотя обычно PK\003\004 , PK\005\006 (empty archive) или PK\007\008 (архив, разделённый на части).

Разработчик

Phil Katz, PKWARE

Опубликован

1989

Последний выпуск

6.3.2 / 2007-09-28; 2895 дней тому назад

Тип формата

Сжатие данных

Развит в

JAR (EAR, RAR (Java), WAR)
Office Open XML (Microsoft)
Open Packaging Conventions
OpenDocument (ODF)
XPI (расширения Mozilla)

Стандарт(ы)

APPNOTE от PKWARE

ZIP — популярный формат архивации файлов и сжатия данных без потерь. Архив ZIP может содержать один или несколько файлов и каталогов, которые могут быть сжаты разными алгоритмами. Наиболее часто в ZIP используется алгоритм сжатия Deflate. Формат был создан в 1989 году Филом Кацем и реализован в программе PKZIP компании PKWARE, Inc.[2] в качестве замены формату архивов ARC Тома Хендерсона. Формат ZIP поддерживается множеством программ, в том числе операционными системами Microsoft Windows (с 1998 года) и Apple Mac OS X (с версии 10.3). Многие свободные операционные системы также имеют встроенную поддержку ZIP-архивов.

Архивы ZIP обычно хранятся в виде файлов с расширением ".zip" или ".ZIP" и используют MIME-типapplication/zip.[1]. Для создания ZIP-архивов и извлечения (распаковки) содержащихся в них файлов могут использоваться специальные утилиты, например терминальные PKZIP и PKUNZIP[3] или графические WinZip, WinRAR, Info-ZIP, 7-Zip, PeaZip и многие другие. При необходимости ZIP-архив может быть объединён с модулем-распаковщиком в единый исполняемый файл с расширением .EXE (так называемый SFX-архив).

История[править | править вики-текст]

Формат ZIP был первоначально создан Филом Кацем, основателем компании PKWARE, в ответ на правовое преследование компанией Software Enhancement Associates (SEA), защищавшей своё изобретение — формат архивирования ARC.

SEA — небольшая компания, основанная Томом Хендерсоном, его женой Айрин (Irene) и её братом. Формат ARC продавался как shareware и был предназначен для использования пользователями BBS для уменьшения размера скачиваемых и закачиваемых файлов посредством сжатия. Исходные коды утилиты ARC были доступны для скачивания и изучения.

Кац скопировал ARC и изменил часть кода, написанного на Си, оптимизированным кодом на ассемблере, тем самым сделав программу значительно быстрее. Сначала SEA попыталась лицензировать архиватор PKARC, сделанный Кацем, но тот отказался. Тогда они возбудили иск за нарушение прав правообладателя и выиграли процесс.

Во время урегулирования Кац по-прежнему отказывался выплачивать лицензию за PKARC компании SEA, согласившись вместо этого оплатить её расходы на процесс и прекратить продавать PKARC. Затем он продолжил разработку и вскоре представил собственный формат архивации файлов PKZIP, который сжимал данные намного эффективнее, чем ARC. После выпуска PKZIP многие пользователи переметнулись в его лагерь из-за лучшего алгоритма сжатия, приносившего выгоду и во времени, и в размере, а также поскольку Кац сумел успешно создать себе имидж, что он «хороший парень», которого «использовала» плохая корпорация.

Термин «ZIP» был предложен другом автора, его можно интерпретировать как «скорость». Тем самым давалось понять, что этот продукт будет быстрее, чем ARC и другие форматы сжатия. По историческим причинам (из-за ограничений на имена файлов под DOS) он обычно пишется заглавными буквами.

История версий[править | править вики-текст]

У каждой спецификации формата ZIP есть свой собственный номер, который может не совпадать с номерами версий PKZIP (особенно это справедливо для PKZIP 6 и более новых версий). PKWARE постоянно добавляет возможности в свой формат, но новая версия формата становится доступной только при выходе следующего старшего выпуска программы PKZIP.

Версия спецификации Год Новые возможности
2.0 1993 Файлы могут сжиматься методом Deflate[1]
2.1 1996 Сжатие Deflate64
4.5 2001 Описан 64-битный формат ZIP[4]
4.6 2001 Сжатие bzip2 (опубликовано позднее с APPNOTE 5.2)
5.0 2002 Поддержка шифрования DES, 3DES, RC2, RC4 (опубликовано позднее с APPNOTE 5.2)
5.2 2003 Поддержка шифрования AES[5][6], исправление спецификации шифрования RC2-64
6.1 2004 Описано хранение сертификатов[7]
6.2.0 2004 Описано шифрование центрального каталога[8]
6.3.0 2006 Описано хранение имен файлов в формате Юникод (UTF-8)[9]; расширен список поддерживаемых алгоритмов шифрования, сжатия (добавлены такие современные методы, как LZMA и PPMd+) и хеширования
6.3.1 2007 Исправлены стандартные значения хеш-функций SHA-256/384/512[10]
6.3.2 2007 Описан метод сжатия 97 (WavPack)[11]
6.3.3[12] 2012
6.3.4[13] 2014

Утилита WinZip (начиная с версии 12.1) использует файловое расширение .zipx для ZIP-архивов с современными методами сжатия. В ZIPX в дополнение к классическому Deflate могут применяться методы BZip, LZMA, PPMd, JPEG и WavPack.[14][15] По этой причине файлы ZIPX могут не распознаваться классическими утилитами распаковки ZIP, в которых реализован лишь метод Deflate.

ZIP сегодня[править | править вики-текст]

В настоящее время формат ZIP считается общепризнанным форматом для многих приложений, включающих функции сжатия, резервного копирования и обмена данными[источник не указан 24 дня]. Наряду с большим количеством утилит, работающих с ZIP-файлами из командной строки, в середине 1990-х годов появились и графические программы для работы с ними. Поддержка формата ZIP включена во множество современных операционных систем.

На текущий момент существует ряд алгоритмов сжатия данных, выигрывающих у ZIP и в скорости, и в степени упаковки, и в дополнительных возможностях. Тем не менее, ZIP по-прежнему остаётся популярным методом сжатия данных[источник не указан 24 дня].

Множество конкурирующих архиваторов помимо своего собственного формата также поддерживают формат ZIP. Этот способ сжатия также широко используется в других программах и даже в некоторых форматах файлов. Например, файлы *.odt и *.docx — это в действительности ZIP-архивы, содержащие в себе XML-файлы разметки страницы и дополнительные ресурсы (например, изображения).

Существуют сторонние архиваторы, создающие ZIP-архивы с методом сжатия Deflate, но с большей степенью сжатия, чем у оригинальных утилит. Среди них — 7-Zip и модифицированный Кеном Сильверманом архиватор kzip[источник не указан 177 дней].

Восстановление ZIP-архивов[править | править вики-текст]

Поскольку формат ZIP не поддерживает специальных данных для восстановления (в отличие от, например, RAR), следует помнить, что при повреждении ZIP-архива можно восстановить только его структуру (т.е. сделать вновь доступным оглавление архива), но восстановить данные, пострадавшие из-за повреждения, не удастся. Для восстановления повреждённых ZIP-архивов существуют специализированные утилиты, например, бесплатные:

  • Object Fix Zip[16]
  • DiskInternals ZIP Repair[17]

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

  1. 1 2 3 «Registration of a new MIME Content-Type/Subtype - application/zip», IANA, 1993-07-20, <http://www.iana.org/assignments/media-types/application/zip>. Проверено 5 января 2012. 
  2. Phillip Katz, Computer Software Pioneer, 37, 'The New York Times' (1 May 2000). Проверено 14 июня 2009.
  3. Microcomputer Applications for Public Administration (PADM 5530) Instructions on Using PKZIP and PKUNZIP (DOS)
  4. «File: APPNOTE.TXT - .ZIP File Format Specification Version: 4.5 Revised: 11/01/2001», 3 December 2001, <http://www.pkware.com/support/appnote.txt>. Проверено 21 апреля 2012. 
  5. «APPNOTE.TXT - .ZIP File Format Specification, Version: 5.2 - NOTIFICATION OF CHANGE», 16 July 2003, <http://www.pkware.com/documents/APPNOTE/APPNOTE-5.2.0.txt>. Проверено 5 января 2012. 
  6. «File: APPNOTE.TXT - .ZIP File Format Specification Version: 5.2 - NOTIFICATION OF CHANGE Revised: 06/02/2003», 2 July 2003, <http://pkware.com/products/enterprise/white_papers/appnote.html>. Проверено 21 апреля 2012. 
  7. «File: APPNOTE - .ZIP File Format Specification Version: 6.1.0 - NOTIFICATION OF CHANGE Revised: 01/20/2004», 19 August 2004, <http://www.pkware.com/company/standards/appnote/>. Проверено 21 апреля 2012. 
  8. «APPNOTE.TXT - .ZIP File Format Specification, Version: 6.2.0 - NOTIFICATION OF CHANGE», 26 April 2004, <http://www.pkware.com/documents/APPNOTE/APPNOTE-6.2.0.txt>. Проверено 5 января 2012. 
  9. «APPNOTE.TXT - .ZIP File Format Specification, Version: 6.3.0», 29 September 2006, <http://www.pkware.com/documents/APPNOTE/APPNOTE-6.3.0.TXT>. Проверено 5 января 2012. 
  10. «File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.1 Revised: April 11, 2007», 14 May 2007, <http://www.pkware.com/documents/casestudies/APPNOTE.TXT>. Проверено 21 апреля 2012. 
  11. «File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.2 Revised: September 28, 2007», 28 September 2007, <http://www.pkware.com/documents/casestudies/APPNOTE.TXT>. Проверено 21 апреля 2012. 
  12. «File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.3 Revised: September 01, 2012», September 2012, <http://www.pkware.com/documents/casestudies/APPNOTE.TXT> 
  13. «File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.4 Revised: October 1, 2014», 1 October 2014, <http://www.pkware.com/documents/casestudies/APPNOTE.TXT> 
  14. Additional Compression Methods Specification. WinZip. Mansfield, CT: WinZip Computing, S.L (19 May 2009). Проверено 24 мая 2009.
  15. What is a Zipx File?. Winzip: Knowledgebase. Mansfield, CT: WinZip Computing, S.L (13 August 2010). Проверено 17 августа 2010.
  16. Программа Object Fix Zip 1.7 // UPgrade : журнал. — 2010. — № 8 (460). — С. 32. — ISSN 1680-4694.
  17. Восстанавливаем любые данные // Chip : журнал. — 2011. — № 8 (149). — С. 125. — ISSN 1609-4212.

Ссылки[править | править вики-текст]