Очікує на перевірку

zip

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
ZIP
Розширення файлу:.zip
.zipx (новий алгоритм стиснення)
MIME-тип:application/zip
Узагальнений ідентифікатор типу:com.pkware.zip-archive
Розробник:Phil Katz, PKWARE
Тип формату:стиснення
Розширений до:JAR (EAR, RAR (Java), WAR)
Office Open XML (Microsoft)
OpenDocument (ODF)
XPI (розширення Mozilla)
Стандарт(и):APPNOTE[1] from PKWARE

ZIP (Lempel Ziv Welch) — формат стиснення та архівації даних. Файл цього формату зазвичай має розширення .zip і зберігає у стиснутому або не стиснутому вигляді один або декілька файлів. Використовує LZW-стиснення, яке не вносить спотворень і втрат. ZIP є стандартним форматом в операційній системі Windows і використовується в Office Open XML.

Історія

[ред. | ред. код]

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

SEA — невелика компанія, заснована Томом Гендерсоном, його дружиною Ірин (Irene) і її братом. Формат ARC продавався як shareware і був призначений для використання користувачами BBS для зменшення розміру викачуваних і закачуваних файлів за допомогою компресії. Вихідні коди утиліти ARC були доступні для викачування і вивчення.

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

Під час врегулювання Кац як і раніше відмовився виплачувати ліцензію за PKARC компанії SEA, погодившись натомість сплатити її витрати на процес і припинити продавати PKARC. Потім він продовжив розробку і незабаром представив власний формат архівації файлів PKZIP, який стискав дані набагато ефективніше ніж .ARC. Після випуску PKZIP багато користувачів перекинулися в його табір унаслідок кращого алгоритму стиснення, що приносило вигоду і в часі, і в розмірі, а також оскільки Кац зумів успішно переконати, що він «хороший хлопець», якого «використовувала» погана корпорація. Термін «zip» (що означає тут швидкість) запропонував Кацу його друг Роберт Магоні. Тим самим вони мали на увазі, що їх продукт буде швидший, ніж ARC і інші формати стиснення. За історичними причинами (через обмеження на імена файлів під DOS) він зазвичай пишеться великими буквами.

Технічні особливості

[ред. | ред. код]

ZIP — достатньо простий формат, що окремо стискає кожен файл. Через це є можливість видобувати окремі файли без читання всього архіву; в теорії це дозволяє отримати краще стиснення, використовуючи різні алгоритми для певних типів файлів. Проте, недоліком цього методу є те, що упакований архів з великою кількістю файлів буде значно більшим, ніж якби він був стиснений як один файл.

ZIP архів може бути зовсім без компресії або стиснений, використовуючи велику кількість різних компресійних алгоритмів. Попри це, на практиці найчастіше використовують DEFLATE алгоритм Філа Катца.

Сучасне використання

[ред. | ред. код]

Разом з безліччю утиліт, що працюють з zip-файлами з командного рядка, в середині 1990-х років з'явилися і графічні zip-програми. Серед них однією з найпопулярніших стала WinZip.

Тепер існує безліч алгоритмів компресії, що виграють у ZIP і в швидкості, і в компресії, і в кількості додаткових можливостей, що надаються. Не зважаючи на це, він є найпопулярнішим методом стиснення даних.

Zip став де-факто стандартом для компресії даних. Безліч конкуруючих архіваторів, крім свого власного, також підтримують формат zip. Цей спосіб стиснення також широко використовується в інших програмах і навіть в деяких форматах файлів. Програма kzip є екстремальним за ступенем стиснення пакувальником у формат ZIP і застосовується людьми, прив'язаними до zip-формату (наприклад, для публікації програмного забезпечення у Вебі або Java-розробниками).

Примітки

[ред. | ред. код]
  1. .ZIP Application Note(англ.)