ZIP

(перенаправлено с «Zip»)

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

ZIP
Расширение

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

MIME-тип

application/zip[1]

Сигнатура

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

Разработчик

Фил Кац, PKWARE

Опубликован

1989

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

6.3.2 (2007-09-28; 3795 дней тому назад)

Тип формата

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

Развит в

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

Стандарт(ы)

APPNOTE от PKWARE

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

Содержание

ИсторияПравить

Формат ZIP был первоначально создан в конце 1980-х годов Филом Кацем, основателем компании PKWARE[4], и в ответ на правовое преследование со стороны компании Software Enhancement Associates (SEA), защищавшей своё изобретение — формат архивирования ARC[5]. SEA заявила, что ранние архиваторы PKWARE - PKARC и PKXARC, работавшие с ARC-архивами, являлись производными от приложений SEA для работы с ARC[6]. Также SEA угрожала иском соавтору ZIP, Gary Conway из "Infinity Design Concepts" (IDC) по тем же причинам, но вскоре выяснилось, что приложения SEA являются производными от работ IDC и нескольких других программ, и иск был отозван.

Название "zip" (со значением move at high speed - "быстро двигаться") было предложено другом Кайа, Робертом Махони. Таким названием они подразумевали, что их приложение быстрее ARC и других архиваторов того времени. Наиболее ранняя известная версия спецификации формата ZIP - .ZIP File Format Specification была опубликована как часть поставки PKZIP 0.9 в файле APPNOTE.TXT в 1989 году.

В 1989 году формат архивов .ZIP был передан в общественное достояние (public domain).[7][8][9][10][11]

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

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

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

По историческим причинам (из-за ограничений на имена файлов под DOS) название формата обычно пишется заглавными буквами.

История версийПравить

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

Версия спецификации Год Новые возможности
2.0 1993 Файлы могут сжиматься методом Deflate[1]
2.1 1996 Сжатие Deflate64
4.5 2001 Описан 64-битный формат ZIP[12]
4.6 2001 Сжатие bzip2 (опубликовано позднее с APPNOTE 5.2)
5.0 2002 Поддержка шифрования DES, 3DES, RC2, RC4 (опубликовано позднее с APPNOTE 5.2)
5.2 2003 Поддержка шифрования AES[13][14], исправление спецификации шифрования RC2-64
6.1 2004 Описано хранение сертификатов[15]
6.2.0 2004 Описано шифрование центрального каталога[16]
6.3.0 2006 Описано хранение имен файлов в формате Юникод (UTF-8)[17]; расширен список поддерживаемых алгоритмов шифрования, сжатия (добавлены такие современные методы, как LZMA и PPMd+) и хеширования
6.3.1 2007 Исправлены стандартные значения хеш-функций SHA-256/384/512[18]
6.3.2 2007 Описан метод сжатия 97 (WavPack)[19]
6.3.3[20] 2012 Изменения форматирования документов для облегчения ссылки на PKWARE Application Note от других стандартов, используя такие методы, как JTC 1 REFERENCING пояснительный доклад (RER) в соответствии с указаниями JTC 1 / SC 34 N 1621.
6.3.4[21] 2014 Обновление адреса офиса PKWARE, Inc.

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

ZIP сегодняПравить

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

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

Множество конкурирующих архиваторов помимо своего собственного формата также поддерживают формат ZIP.

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

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

Восстановление ZIP-архивовПравить

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

  • Object Fix Zip[24]
  • DiskInternals ZIP Repair[25]

ПримечанияПравить

  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. The Rise and Fall of a Software Star; Phil Katz Loved Code - and Liquor (англ.), wsj (15 August 1997).
  5. 1 2 Mark Stamp, Richard M. Low. 3.5 PKZIP // Applied Cryptanalysis: Breaking Ciphers in the Real World. — John Wiley & Sons, 2007. — С. 110-111. — 424 с. — ISBN 9780470148761.
  6. Phil Katz (PKARC author) sued by SEA (ARC author), 14 Jun 1988, comp.sys.ibm.pc; "Shareware Developers Fight Court Battle Over Copyright Infringement", Daniel J. Lyons, PCWEEK (May 31, 1988) (англ.)
  7. Brian Livingston (8 September 2003), PKZip Must Open Up, <http://brianlivingston.com/eweek/article2/0,4149,1257562,00.html>. Проверено 5 января 2012. 
  8. Where Did Zip Files Come From Anyway?, Infinity Design Concepts, Inc., <http://www.idcnet.us/ziphistory.html>. Проверено 5 января 2012. 
  9. Press Release, 1989, <http://cd.textfiles.com/pcmedic9310/MAIN/MISC/COMPRESS/ZIP.PRS>. Проверено 5 января 2012. 
  10. Our Founder - Phil Katz, PKWARE, <http://www.pkware.com/about-us/phil-katz>. Проверено 5 января 2012. 
  11. Gareth Horton; Rob Weir & Alex Brown (2 November 2010), sc34-wg1, <http://mailman.vse.cz/pipermail/sc34wg1study/2010-November/000082.html>. Проверено 5 января 2012. 
  12. 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. 
  13. 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. 
  14. 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. 
  15. 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. 
  16. 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. 
  17. 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. 
  18. 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. 
  19. 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. 
  20. 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> 
  21. 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> 
  22. Additional Compression Methods Specification. WinZip. Mansfield, CT: WinZip Computing, S.L (19 May 2009). Проверено 24 мая 2009.
  23. What is a Zipx File?. Winzip: Knowledgebase. Mansfield, CT: WinZip Computing, S.L (13 August 2010). Проверено 17 августа 2010.
  24. Программа Object Fix Zip 1.7 // UPgrade : журнал. — 2010. — № 8 (460). — С. 32. — ISSN 1680-4694.
  25. Восстанавливаем любые данные // Chip : журнал. — 2011. — № 8 (149). — С. 125. — ISSN 1609-4212.

СсылкиПравить