aspose.info
AZ

ZIP

Yeniləndi

ZIP faylı nədir?

A file with .zip extension is an archive that can hold one or more files or directories. The archive can have compression applied to the included files in order to reduce the ZIP file size. ZIP file format was made public back in February 1989 by Phil Katz for achieving archiving of files and folders. The format was made part of PKZIP utility, created by PKWARE, Inc. Right after the availability of available specifications, many companies made ZIP file format part of their software utilities including Microsoft (since Windows 7), Apple (Mac OS X ) and many others.

ZIP Fayl Formatının Qısa Tarixi

ZIP fayl formatının tarixçəsi System Enhancement Associates (SEA) tərəfindən PKWARE-yə qarşı ARC yardım proqramından ticarət nişanı və məhsulun görünüşü və istifadəçi interfeysinin müəllif hüquqları icazəsi olmadan istifadə etdiyinə görə qaldırdığı məhkəmə iddiası ilə bağlıdır. Bundan əvvəl Phil Katz SEA-nın mənbə kodunu yenidən yazmış və MS-DOS əsaslı sistemlər üçün pulsuz proqram kimi ARC çıxaran PKXARC və fayl kompressoru olan PKARC-ni buraxmışdı. Məhkəməyə uduzaraq, PKWARE artıq ARC ilə əlaqəli heç bir şeydən istifadə edə bilmədi. PKWARE, Inc-də PKZIP yardım proqramının bir hissəsi olan ZIP adlanan yeni bir fayl sıxışdırmasının yaradılması burada baş verdi.

Katz sıkıştırma və çıxarma yardım proqramı, yəni PKZIP üzərində mülkiyyət hüquqlarını saxlamaqla, ZIP fayl formatının spesifikasiyalarını ictimai domenə buraxdı. ZIP sıxılma sistemi fayl ölçülərini sıxışdırmaq üçün 32 bitlik siklik ehtiyat yoxlaması (CRC) alqoritmi vasitəsilə qovluqdakı faylları arxivləşdirə bilirdi (və edir). ARC-dən fərqli olaraq, .ZIP qovluqları, sıxılmış faylları göstərmək üçün lazım olan məlumatları özündə saxlayan, kriptoqrafın kod kitabçası rolunu oynayan kataloq faylını ehtiva edirdi.

ZIP-də dəstəklənən sıxılma üsulları

.ZIP Fayl Formatının spesifikasiyasına uyğun olaraq, aşağıdakı sıxılma üsulları dəstəklənir.

  • Mağaza - heç bir sıxılma nəzərdə tutur

  • Büzülmək

  • Azaltma (Bu, 1-ci səviyyədən 4-cü səviyyəyə qədər dəyişən sıxılma amillərini nəzərdə tutur)

  • Implode

  • Söndürmək

  • Deflat64

  • BZIP2

  • LZMA (EFS)

  • WavPack

  • PPMd I versiyası, Rev 1

DEFLATE is the commonly used compression method which is a lossless date compression algorithm that uses a combination of the LZ77 and Huffman coding and is detailed in RFC 1951.

ZIP Fayl Formatının Xüsusiyyətləri

ZIP faylları müxtəlif sıxılma üsullarından istifadə edərək birdən çox faylı saxlamaq imkanına malikdir, eyni zamanda faylın sıxılmadan saxlanmasını dəstəkləyir. Hər bir fayl fərdi olaraq saxlanılır/sıxılır ki, bu da bütün arxivə sıxılma və ya dekompressiya tətbiq etmədən onları çıxarmağa və ya yenilərini əlavə etməyə kömək edir.

Ümumi ZIP Fayl Format

Hər bir Zip faylı aşağıdakı şəkildə qurulur:

ZIP Fayl formatı
Yerli Fayl Başlığı 1
Fayl Məlumatı 1
Məlumatların təsviri 1
Yerli Fayl Başlığı 2
Fayl Məlumatı 2
Məlumatların təsviri 2
….
….
Yerli Fayl Başlığı N
Fayl Məlumatı N
Məlumatların təsviri N
Arxiv Deşifrə Başlığı
Arxiv əlavə məlumat qeydi
Mərkəzi Kataloq

ZIP fayl formatı arxivləşdirmə məqsədi ilə 32 bitlik CRC alqoritmindən istifadə edir. Sıxılmış faylları göstərmək üçün ZIP arxivi sonunda arxiv faylında olan faylların girişini və onların yerini saxlayan bir qovluq saxlayır. Beləliklə, sıxılmış faylları göstərmək üçün lazım olan məlumatları əhatə etmək üçün kodlaşdırma rolunu oynayır. ZIP oxucuları bütün ZIP arxivini oxumadan faylların siyahısını yükləmək üçün kataloqdan istifadə edirlər. Bu format məlumat itkisinə qarşı daha çox qorunma təmin etmək üçün kataloq strukturunun ikili nüsxəsini saxlayır.

ZIP arxivindəki hər bir fayl fərdi giriş kimi təqdim olunur, burada hər bir giriş Yerli Fayl Başlığından və ardınca sıxılmış fayl datasından ibarətdir. Arxivin sonundakı Kataloq bütün bu fayl qeydlərinə istinadları saxlayır. ZIP faylı oxuyucuları yerli fayl başlıqlarını oxumaqdan çəkinməlidirlər və bütün növ fayl siyahısı Kataloqdan oxunmalıdır. Bu Kataloq arxivdəki etibarlı fayl qeydləri üçün yeganə mənbədir, çünki fayllar arxivin sonuna da əlavə edilə bilər. Odur ki, oxucu ZIP arxivinin yerli başlıqlarını əvvəldən oxuyarsa, o, arxivdən silinən Kataloqun bir hissəsi olmayan etibarsız (silinmiş) qeydləri də oxuya bilər.

Mərkəzi kataloqdakı fayl qeydlərinin sırası arxivdəki fayl qeydlərinin sırası ilə üst-üstə düşməməlidir.

ZIP fayl girişləri

ZIP faylındakı qeydlər bir-birinin ardınca düzülür, burada hər bir giriş aşağıdakılardan ibarətdir:

  • Yerli Fayl Başlığı

  • Könüllü Əlavə Məlumat Sahələri

  • İstifadəçi məlumatları (istəyə görə sıxılmış/istəyə görə şifrələnmiş)

Hər bir girişin Yerli Fayl Başlığı şərh, fayl ölçüsü və fayl adı kimi fayl haqqında məlumatı təmsil edir. Əlavə məlumat sahələri (isteğe bağlı) ZIP formatının genişlənmə variantları üçün məlumatı yerləşdirə bilər.

Yerli Fayl Başlığı

Yerli Fayl Başlığı çox bayt dəyərlərindən ibarət xüsusi sahə strukturuna malikdir. Bütün dəyərlər kiçik endian bayt sırasında saxlanılır, burada sahə uzunluğu baytlarda uzunluğu hesablayır. ZIP faylındakı bütün strukturlar hər bir fayl girişi üçün 4 baytlıq imzalardan istifadə edir. Mərkəzi kataloq imzasının sonu 0x06054b50-dir və öz unikal imzasından istifadə etməklə fərqləndirilə bilər. Aşağıda Yerli Fayl Başlığında saxlanılan məlumatların sırası verilmişdir.

OfsetBaytTəsvir
04Yerli fayl başlığı imzası # 0x04034b50 (kiçik endian nömrə kimi oxunur)
42Çıxarış üçün lazım olan versiya (minimum)
62Ümumi təyinatlı bit bayrağı
82Sıxılma üsulu
102Faylın son dəyişiklik vaxtı
122Faylın son dəyişiklik tarixi
144CRC-32
184Sıxılmış ölçü
224Sıxılmamış ölçü
262Fayl adının uzunluğu (n)
282Əlavə sahə uzunluğu (m)
30nFayl adı
30+nmƏlavə Sahə

Mərkəzi Kataloq Fayl Başlığı

OfsetBaytTəsvir
04Mərkəzi kataloq faylı başlıq imzası # 0x02014b50
42Tərəfindən hazırlanmış versiya
62Çıxarış üçün lazım olan versiya (minimum)
82Ümumi təyinatlı bit bayrağı
102Sıxılma üsulu
122Faylın son dəyişiklik vaxtı
142Faylın son dəyişiklik tarixi
164CRC-32
204Sıxılmış ölçü
244Sıxılmamış ölçü
282Fayl adının uzunluğu (n)
302Əlavə sahə uzunluğu (m)
322Fayl şərhinin uzunluğu (k)
342Faylın başladığı disk nömrəsi
362Daxili fayl atributları
384Xarici fayl atributları
424Lokal fayl başlığının nisbi ofseti. Bu, faylın baş verdiyi ilk diskin başlanğıcı ilə yerli fayl başlığının başlanğıcı arasındakı baytların sayıdır. Bu, mərkəzi kataloqu oxuyan proqram təminatına ZIP faylı daxilində faylın yerini müəyyən etməyə imkan verir.
46nFayl adı
46+nmƏlavə sahə
46+n+mkFayl şərhi

Mərkəzi Kataloq qeydinin sonu

OfsetBaytTəsvir
04Mərkəzi kataloq imzasının sonu # 0x06054b50
42Bu diskin sayı
62Mərkəzi kataloqun başladığı disk
82Bu diskdə mərkəzi kataloq qeydlərinin sayı
102Mərkəzi kataloq qeydlərinin ümumi sayı
124Mərkəzi kataloqun ölçüsü (bayt)
164Arxivin başlanğıcına nisbətən mərkəzi kataloqun başlanğıcının ofseti
202Şərh uzunluğu (n)
22nŞərh

İstinadlar

Həmçinin bax