Zlib හි භාවිතා කරන සම්පීඩන ඇල්ගොරිතම අත්යවශ්යයෙන්ම gzip සහ zip වලට සමාන වේ. මොනවාද gzip හා තැපැල් ? ඒවා වෙනස් වන්නේ කෙසේද සහ ඒවා සමාන වන්නේ කෙසේද?
Zlib හි භාවිතා කරන සම්පීඩන ඇල්ගොරිතම අත්යවශ්යයෙන්ම gzip සහ zip වලට සමාන වේ. මොනවාද gzip හා තැපැල් ? ඒවා වෙනස් වන්නේ කෙසේද සහ ඒවා සමාන වන්නේ කෙසේද?
Answers:
කෙටි යෙදුම:
.zip
සාමාන්යයෙන් Deflate සම්පීඩන ක්රමය භාවිතා කරමින් සංරක්ෂිත ආකෘතියකි . මෙම .gz
gzip ආකෘතිය තනි ගොනු ද හුලං සම්පීඩන ක්රම යොදාගෙන සඳහා වේ. බොහෝ විට gzip සංයෝජනය භාවිතා වන සම්පීඩිත සංරක්ෂිත ආකෘතියක් කිරීමට තාර , .tar.gz
. මෙම හි Zlib පුස්තකාල තැපැල්, gzip, භාවිතය සඳහා හුලං සම්පීඩන හා විහිදුම් ක්රමලේඛණයක් කේතය ලබා png (මෙම යොදා ගන්නා හි Zlib දවටනය හුලං දත්ත මත), සහ තවත් බොහෝ අයදුම්පත්.
දිගු ස්වරූපය:
මෙම ZIP ආකෘතිය ඔහුගේ ක්රියාත්මක කිරීම, PKZIP, shareware සිටි විවෘත පිරිවිතර, සමග විවෘත ආකෘතිය ලෙස ෆිල් කාට්ස් දියුණු කරන ලදී. එය එක් එක් ගොනුව තනි තනිව සම්පීඩනය කර ඇති ගොනු සහ ඒවායේ නාමාවලි ව්යුහය ගබඩා කරන සංරක්ෂිත ආකෘතියකි. ගොනු වර්ගය වේ .zip
. ලිපිගොනු මෙන්ම නාමාවලි ව්යුහය විකල්ප වශයෙන් සංකේතනය කළ හැකිය.
ZIP ආකෘතිය සම්පීඩන ක්රම කිහිපයකට සහය දක්වයි:
0 - The file is stored (no compression)
1 - The file is Shrunk
2 - The file is Reduced with compression factor 1
3 - The file is Reduced with compression factor 2
4 - The file is Reduced with compression factor 3
5 - The file is Reduced with compression factor 4
6 - The file is Imploded
7 - Reserved for Tokenizing compression algorithm
8 - The file is Deflated
9 - Enhanced Deflating using Deflate64(tm)
10 - PKWARE Data Compression Library Imploding (old IBM TERSE)
11 - Reserved by PKWARE
12 - File is compressed using BZIP2 algorithm
13 - Reserved by PKWARE
14 - LZMA (EFS)
15 - Reserved by PKWARE
16 - Reserved by PKWARE
17 - Reserved by PKWARE
18 - File is compressed using IBM TERSE (new)
19 - IBM LZ77 z Architecture (PFS)
97 - WavPack compressed data
98 - PPMd version I, Rev 1
1 සිට 7 දක්වා ක්රම historical තිහාසික වන අතර ඒවා භාවිතයේ නොමැත. 9 සිට 98 දක්වා වූ ක්රම සාපේක්ෂව මෑත කාලීන එකතු කිරීම් වන අතර ඒවා වෙනස්, කුඩා ප්රමාණයේ භාවිතයන් වේ. ZIP ආකෘතියේ සැබවින්ම පුලුල්ව භාවිතා වන එකම ක්රමය වන්නේ 8 වන ක්රමය, ඩෙෆ්ලේට් කිරීම සහ කුඩා ප්රමාණයට 0 ක්රමය වන අතර එය සම්පීඩනයක් නොවේ. .zip
ඔබ වනගතව හමු වන සෑම ගොනුවක්ම පාහේ 8 සහ 0 ක්රම භාවිතා කරනු ඇත, බොහෝ විට එය 8 වන ක්රමය පමණි. 8 වන ක්රමය විය හැකි නමුත්.)
මෙම ISO / IEC 21320-1: 2015 ගොනුව බහාලුම් සඳහා සම්මත එවැනි ජාවා සංරක්ෂිත ගොනු (.jar), කාර්යාලය විවෘත XML ගොනු (මයික්රොසොෆ්ට් ඔෆිස් .docx, .xlsx, .pptx), Office ලේඛන භාවිත කර ඇති පරිදි, ලෙස සීමා තැපැල් ආකෘතිය, ය ආකෘති ගොනු (.odt, .ods, .odp), සහ EPUB ගොනු (.epub). එම ප්රමිතිය සම්පීඩන ක්රම 0 සහ 8 දක්වා සීමා කරයි, ගුප්තකේතනය හෝ අත්සන් නොමැති වෙනත් බාධක.
1990 දී පමණ Info-ZIP සමූහය අතේ ගෙන යා හැකි, නිදහස්, විවෘත මූලාශ්ර ක්රියාත්මක කිරීම් zip
සහ unzip
උපයෝගිතා ලිවීම, ඩෙෆ්ලේට් ආකෘතිය සමඟ සම්පීඩනය සඳහා සහාය වීම සහ ඒ හා පෙර ආකෘතීන් විසංයෝජනය කිරීම. මෙය .zip
ආකෘතියේ භාවිතය බෙහෙවින් පුළුල් කළේය .
90 දශකයේ මුල් භාගයේදී, යුනික්ස් උපයෝගීතාව වෙනුවට ආදේශකයක් ලෙස gzip ආකෘතිය සංවර්ධනය කරන ලද අතර එය Info-ZIP උපයෝගිතා වල Deflate කේතයෙන් උපුටා ගන්නා ලදි. යුනික්ස් නිර්මාණය කර ඇත්තේ තනි ගොනුවක් හෝ ප්රවාහයක් සම්පීඩනය කිරීම සඳහා වන අතර එය ගොනු නාමයට එකතු කරයි . භාවිතා කරයි LZW සම්පීඩන ඇල්ගොරිතම අවස්ථාවේ පේටන්ට් යටතේ වූ අතර, එහි නිදහස් භාවිතය සඳහා පේටන්ට් බලපත්ර හිමියන් විසින් ආරවුලක් තිබූ,. ඩෙෆ්ලේට් හි සමහර නිශ්චිත ක්රියාත්මක කිරීම් ෆිල් කැට්ස් විසින් පේටන්ට් බලපත්ර ලබාගෙන ඇතත්, ආකෘතිය එසේ නොවූ අතර කිසිදු පේටන්ට් බලපත්රයක් උල්ලං did නය නොවන ඩෙෆ්ලේට් ක්රියාත්මක කිරීමක් ලිවීමට හැකි විය. පසුගිය වසර 20+ තුළ එය ක්රියාත්මක කිරීම එතරම් අභියෝගයට ලක් වී නොමැත. යුනික්ස් උපයෝගීතාව අදහස් කළේ ආදේශකයක් ලෙසයcompress
compress
.Z
compress
gzip
compress
, ඇත්ත වශයෙන්ම compress
සම්පීඩිත දත්ත විසංයෝජනය කිරීමට හැකිය (ඔබට එම වාක්යය විග්රහ කිරීමට හැකි යැයි උපකල්පනය කරන්න). ගොනු නාමයට gzip
a .gz
එකතු කරයි. gzip
යුනික්ස් වලට වඩා මඳක් සම්පීඩනය කරන compress
, ඉතා වේගයෙන් විසංයෝජනය කර ඇති ඩෙෆ්ලේට් සම්පීඩිත දත්ත ආකෘතිය භාවිතා කරයි , සහ දත්ත සඳහා අඛණ්ඩතාව පරීක්ෂා කිරීමක් ලෙස CRC-32 එක් කරයි. compress
මුල් ලිපිගොනු නම සහ ගොනු වෙනස් කිරීමේ වේලාව වැනි අවසර ලත් ආකෘතියට වඩා වැඩි තොරතුරු ගබඩා කිරීමට ශීර්ෂක ආකෘතිය අවසර දෙයි .
නමුත් compress
එකම තනි ගොනු සම්පීඩනය, එය භාවිතා කිරීමට පොදු විය tar
තනි බවට ගොනු, ඔවුන්ගේ ගුණාංග, සහ ඔවුන්ගේ බහලුම් ආකෘතිය ක සංරක්ෂණ නිර්මාණය කිරීමට උපයෝගිතා .tar
ගොනු, පසුව එය සංකෝචනය කිරීමට compress
පියවර ගැනීමට .tar.Z
ගොනුව. ඇත්ත වශයෙන්ම tar
උපයෝගීතාවයට ප්රතිදානය පයිප්ප කිරීම වෙනුවට සම්පීඩනය එකවර කිරීමට විකල්පයක් tar
ඇත compress
. මේ සියල්ල gzip ආකෘතියට ඉදිරියට ගෙන යන අතර ආකෘතියට tar
කෙලින්ම සම්පීඩනය කිරීමට විකල්පයක් ඇත .tar.gz
. මෙම tar.gz
ආකෘතිය වඩා හොඳ සංකෝචනය .zip
වූ සංක්ෂිප්ත සිට, ප්රවේශය, .tar
ගොනු, විශේෂයෙන් බොහෝ කුඩා ගොනු හරහා අතිරික්ත සේවකයන් ඉවත් කිරීම වාසිය ගත හැකි. .tar.gz
නිසා එහි ඉතා ඉහළ පහසුවෙන් එහාමෙහා ගෙන යාමේ කිරීමට යුනික්ස් භාවිතය වඩාත් පොදු සංරක්ෂිත ආකෘතියක් වන අතර, නමුත් ඔබ දැක ඇත එසේ නොමැති භාවිතා වඩාත් ඵලදායී සම්පීඩන ක්රම මෙන්ම වේ .tar.bz2
හා .tar.xz
ලේඛනාගාරය.
මෙන් නොව .tar
, .zip
අවසානයේ කේන්ද්රීය නාමාවලියක් ඇත, එය අන්තර්ගත ලැයිස්තුවක් සපයයි. එය සහ වෙනම සම්පීඩනය .zip
ගොනුවක තනි ඇතුළත් කිරීම් වලට අහඹු ලෙස ප්රවේශය සපයයි . ඒ .tar
ගොනුව ආකාරය වන නාමාවලියකි, ගොඩ කිරීම සඳහා ආරම්භයේ සිට අවසානය දක්වා විහිදවූ ස්කෑන් ගත යුතුය .tar
ගොනුව ලැයිස්තුගත කර ඇත.
Gzip හඳුන්වාදීමෙන් ටික කලකට පසු, 1990 ගණන්වල මැද භාගයේදී, එම පේටන්ට් බලපත්ර ආරවුල .gif
රූප ආකෘතියේ නොමිලේ භාවිතා කිරීම පිළිබඳව ප්රශ්න කරන ලදී. එය දැන්වීම් පුවරු සහ ලෝක ව්යාප්ත වෙබ් අඩවි වල බහුලව භාවිතා වේ (එකල අලුත් දෙයක්). එබැවින් කුඩා කණ්ඩායමක් PNG නැතිවීමකින් තොරව සම්පීඩිත රූප ආකෘතියක් ගොනු වර්ගය .png
සමඟ ප්රතිස්ථාපනය කිරීමට නිර්මාණය .gif
කළේය. එම ආකෘතිය සම්පීඩනය සඳහා ඩෙෆ්ලේට් ආකෘතිය ද භාවිතා කරයි, එය රූප දත්තවල පෙරහන් පසු අතිරික්තතාවයෙන් වැඩි ප්රමාණයක් හෙළි කරයි. පීඑන්ජී ආකෘතියේ පුළුල් භාවිතය ප්රවර්ධනය කිරීම සඳහා නොමිලේ කේත පුස්තකාල දෙකක් නිර්මාණය කරන ලදී. libpng සහ zlib. libpng විසින් PNG ආකෘතියේ සියලුම අංගයන් හසුරුවා ඇති අතර zlib විසින් සම්පීඩන හා විසංයෝජන කේතය libpng භාවිතා කිරීම සඳහා මෙන්ම වෙනත් යෙදුම් සඳහාද සපයන ලදී. zlib gzip
කේතයෙන් අනුවර්තනය කරන ලදි .
සඳහන් කළ සියලුම පේටන්ට් බලපත්ර කල් ඉකුත් වී ඇත.
ස්ලිබ් පුස්තකාලය ඩෙෆ්ලේට් සම්පීඩනය සහ විසංයෝජනය සඳහා සහය දක්වයි. ඒවා නම්: ක්රමලේඛකයාට gzip චර්යාවන් සැපයීම සඳහා කිසිසේත් එතීම (“අමු” පරාවර්තනය), PNG ආකෘතියේ දත්ත කොටස් වල භාවිතා වන zlib එතීම සහ gzip ඔතා තැබීම ය. Zlib සහ gzip එතීම අතර ඇති ප්රධාන වෙනස නම්, zlib එතීම වඩා සංයුක්ත වීමයි, බයිට් හයක් එදිරිව. Gzip සඳහා අවම වශයෙන් බයිට් 18 ක් සහ අඛණ්ඩතාව පරීක්ෂා කිරීම ඇඩ්ලර් -32, gzip භාවිතා කරන CRC-32 ට වඩා වේගයෙන් ධාවනය වේ. අමු ඩෙෆ්ලේට් භාවිතා කරනුයේ .zip
ආකෘතිය කියවන හා ලිවීමේ වැඩසටහන් වලිනි, එය සම්පීඩිත දත්ත පරාවර්තනය කරන තවත් ආකෘතියකි.
zlib දැන් දත්ත සම්ප්රේෂණය සහ ගබඩා කිරීම සඳහා පුළුල් ලෙස භාවිතා වේ. උදාහරණයක් ලෙස, සේවාදායකයන් සහ බ්රව්සර් මගින් සිදුකරන බොහෝ HTTP ගනුදෙනු zlib භාවිතයෙන් දත්ත සම්පීඩනය කර විසංයෝජනය කරයි, විශේෂයෙන් HTTP ශීර්ෂකය Content-Encoding: deflate
යනු zlib දත්ත ආකෘතිය තුළ ඔතා ඇති සම්පීඩන ක්රමය විස්තාරණය කිරීමයි .
CPU කාලය සඳහා සම්පීඩන effectiveness ලදායිතාවයෙන් වෙළඳාම් කිරීමට ඉඩ සලසන තෝරා ගත හැකි සම්පීඩන මට්ටම්වල පැවැත්මට සාක්ෂි වශයෙන්, එකම ආදාන දත්ත සඳහා විවිධ සම්පීඩිත ප්රතිදානයන් ඇති කළ හැකිය. zlib සහ PKZIP යනු පරාවර්තක සම්පීඩනය සහ විසංයෝජනය ක්රියාත්මක කිරීම පමණක් නොවේ. යන දෙකම 7-Zip සංරක්ෂණය උපයෝගීතා හා ගූගල් zopfli පුස්තකාල හි Zlib ඉහලම සැසඳීමේදී සියයට කිහිපයක් විසින් සම්පීඩිත ප්රමාණ අඩුකර ගනිමින්, හුලං ආකෘතිය භාවිතා කරන විට හැකි අවසන් බිටු කිහිපයක් මිරිකා හැරීම සඳහා හි Zlib වඩා CPU කාලය භාවිතා කිරීමේ හැකියාව ඇති සම්පීඩන මට්ටම. මෙම pigz උපයෝගිතා, gzip සමාන්තරව ක්රියාත්මක කිරීම සඳහා zlib (සම්පීඩන මට්ටම් 1-9) හෝ zopfli (සම්පීඩන මට්ටම 11) භාවිතා කිරීමේ විකල්පය ඇතුළත් වන අතර විශාල ගොනු වල සම්පීඩනය බහු ප්රොසෙසර සහ හරයන් හරහා බෙදීමෙන් zopfli භාවිතා කිරීමේ කාල බලපෑම තරමක් අඩු කරයි.
.tar.gz
ලිපිගොනු දකින විට ඒවා එයයි.) පළමුව, tar + gzip සිප් වලට වඩා හොඳින් සම්පීඩනය කරයි, මන්ද ඊළඟ ගොනුවේ සම්පීඩනයට පෙර ගොනුවේ ඉතිහාසය භාවිතා කළ හැකිය (සමහර විට එය "solid න" ලේඛනාගාරයක් ලෙස හැඳින්වේ). zip වලට ගොනු තනිවම සම්පීඩනය කළ හැකිය. දෙවනුව, තාර සියළුම යුනික්ස් නාමාවලි තොරතුරු ආරක්ෂා කරයි, නමුත් සිප් ඒ සඳහා නිර්මාණය කර නොමැත. (පසුව යුනික්ස් විශේෂිත අමතර කොටස් සමඟ සිප් ආකෘතියට දිගු කිරීම මෙම ගැටලුවට පිළියමක් යෙදීමට උත්සාහ කරයි.)
ZIP යනු අලාභ රහිත සම්පීඩනය සමඟ අත්තනෝමතික ලිපිගොනු සහ ෆෝල්ඩර ගබඩා කිරීම සඳහා භාවිතා කරන ගොනු ආකෘතියකි. එය භාවිතා කරන සම්පීඩන ක්රම පිළිබඳව දැඩි උපකල්පනයක් නොකරයි, නමුත් බොහෝ විට භාවිතා කරනුයේ DEFLATE සමඟ ය .
Gzip යනු DEFLATE මත පදනම් වූ සම්පීඩන ඇල්ගොරිතමයකි, නමුත් විභව පේටන්ට් බලපත්ර සහ වෙනත් අය සමඟ අඩු සංඛ්යාවක් ඇති අතර තනි සම්පීඩිත ගොනුවක් ගබඩා කිරීම සඳහා ගොනු ආකෘතියකි. තාර සමඟ සංයෝජනය වන විට අත්තනෝමතික ලිපිගොනු සහ ෆෝල්ඩර සංඛ්යාවක් සම්පීඩනය කිරීමට එය සහාය වේ. එහි ප්රති file ලයක් ලෙස ඇති ගොනුවේ දිගුවක් .tgz
හෝ ඇති .tar.gz
අතර එය සාමාන්යයෙන් තාරබෝල් ලෙස හැඳින්වේ .
zlib යනු එහි වඩාත් සුලභ LZ77 අවතාරය තුළ DEFLATE සම්බන්ධ කරන කාර්යයන් සහිත පුස්තකාලයකි .
වැදගත්ම වෙනස වන්නේ gzip ට හැකි වන්නේ එක් ගොනුවක් සම්පීඩනය කිරීමට පමණක් වන අතර zip එකකට වඩා ගොනු එකින් එක සම්පීඩනය කර පසුව ඒවා එක ගොනුවකට සංරක්ෂණය කිරීමයි. මේ අනුව, බොහෝ විට තාර සමඟ gzip පැමිණේ (වෙනත් හැකියාවන් ඇතත්). මෙය සමහර (අ) වාසි සමඟ පැමිණේ.
ඔබට විශාල ලේඛනාගාරයක් තිබේ නම් සහ ඔබට අවශ්ය වන්නේ එක ගොනුවක් පමණක් නම්, එම ගොනුව වෙත යාමට ඔබට සම්පූර්ණ gzip ගොනුව විසන්ධි කළ යුතුය. ඔබට සිප් ගොනුවක් තිබේ නම් මෙය අවශ්ය නොවේ.
අනෙක් අතට, ඔබ සමාන හෝ සමාන ලිපිගොනු 10 ක් සම්පීඩනය කරන්නේ නම්, එක් එක් ගොනුව තනි තනිව සම්පීඩනය කර ඇති නිසා zip සංරක්ෂිතය වඩා විශාල වනු ඇත, නමුත් තාර සමඟ gzip සමඟ එක් ගොනුවක් සම්පීඩිත වන අතර එය ගොනු වඩා effective ලදායී වේ සමාන (සමාන).