निकालें POSIX

असीमित कार्य। फ़ाइल साइज़ अधिकतम 2.5GB। मुफ्त, हमेशा के लिए।

निजी और सुरक्षित

सब कुछ आपके ब्राउज़र में होता है। आपकी फ़ाइलें हमारे सर्वर को कभी नहीं छूती हैं।

अत्यंत तेज़

कोई अपलोडिंग नहीं, कोई प्रतीक्षा नहीं। फ़ाइल छोड़ते ही कनवर्ट करें।

वास्तव में मुफ्त

कोई खाता आवश्यक नहीं। कोई छिपी हुई लागत नहीं। कोई फ़ाइल आकार की चाल नहीं।

POSIX प्रारूप क्या है?

पोज़िक्स

प्रोग्रामेबल वेब बाइनरी (PWB) आर्काइव फॉर्मेट एक फाइल फॉर्मेट है जिसका उपयोग वेब-आधारित एप्लीकेशन कोड और संसाधनों को कुशलतापूर्वक पैकेजिंग, कंप्रेसिंग और वितरित करने के लिए किया जाता है। इसे आधुनिक वेब ऐप्स की बढ़ती जटिलता और आकार को संबोधित करने के लिए विकसित किया गया था जो कई जावास्क्रिप्ट, CSS, HTML, छवि और अन्य एसेट फाइलों का उपयोग करते हैं। PWB फॉर्मेट इन फाइलों को एक एकल बाइनरी आर्काइव में बंडल करने की अनुमति देता है, जिससे स्टोरेज आवश्यकताओं को कम किया जाता है और नेटवर्क पर तेजी से ट्रांसमिशन सक्षम होता है।

अपने मूल में, एक PWB आर्काइव में एक फाइल हेडर होता है जिसके बाद फाइल एंट्री की एक श्रृंखला होती है। प्रत्येक फाइल एंट्री में आर्काइव में संग्रहीत एक व्यक्तिगत फाइल के बारे में मेटाडेटा होता है, जैसे कि उसका नाम, कंप्रेस्ड और अनकंप्रेस्ड आकार, और डेटा अखंडता सत्यापन के लिए CRC32 चेकसम। वास्तविक फाइल डेटा मेटाडेटा के बाद संग्रहीत किया जाता है, और डिफ्लेट एल्गोरिथम का उपयोग करके कंप्रेस्ड किया जाता है, जो LZ77 और हफमैन कोडिंग का एक संयोजन है।

PWB हेडर एक 4-बाइट मैजिक नंबर (0x50574221) से शुरू होता है ताकि फाइल को PWB आर्काइव के रूप में पहचाना जा सके। मैजिक नंबर के बाद एक 2-बाइट वर्जन नंबर होता है जो PWB फॉर्मेट वर्जन को इंगित करता है। वर्तमान वर्जन 1.0 है। वर्जन के बाद, भविष्य के उपयोग के लिए 4 बाइट्स आरक्षित हैं, इसके बाद एक 8-बाइट पूर्णांक होता है जो आर्काइव में फाइल एंट्री की कुल संख्या का प्रतिनिधित्व करता है।

PWB आर्काइव में प्रत्येक फाइल एंट्री एक 4-बाइट पूर्णांक से शुरू होती है जो फाइल के मेटाडेटा की लंबाई निर्दिष्ट करती है। मेटाडेटा को JSON ऑब्जेक्ट के रूप में संग्रहीत किया जाता है और इसमें फाइल का नाम, MIME प्रकार, टाइमस्टैम्प और यह कंप्रेस्ड है या नहीं जैसी प्रॉपर्टी शामिल होती हैं। मेटाडेटा लंबाई के बाद वास्तविक JSON-एन्कोडेड मेटाडेटा स्ट्रिंग होती है।

मेटाडेटा के बाद, कंप्रेस्ड फाइल डेटा संग्रहीत किया जाता है। डेटा से पहले एक 8-बाइट पूर्णांक होता है जो डेटा के कंप्रेस्ड आकार को इंगित करता है, इसके बाद अनकंप्रेस्ड आकार के लिए एक और 8-बाइट पूर्णांक होता है। फिर डेटा को डिफ्लेट कंप्रेसन एल्गोरिथम का उपयोग करके एन्कोड किया जाता है, जो जावास्क्रिप्ट, CSS और HTML फाइलों जैसी टेक्स्ट-आधारित एसेट के आकार को काफी कम कर सकता है।

PWB फॉर्मेट के प्रमुख लाभों में से एक वेब एप्लीकेशन एसेट को कुशलतापूर्वक स्टोर और कंप्रेस करने की इसकी क्षमता है। डिफ्लेट कंप्रेसन का उपयोग करके, PWB आर्काइव टेक्स्ट-आधारित फाइलों के लिए उच्च कंप्रेसन अनुपात प्राप्त कर सकते हैं, जो वेब ऐप एसेट का एक बड़ा हिस्सा बनाते हैं। यह स्टोरेज आवश्यकताओं को कम करता है और फाइल ट्रांसफर को गति देता है, क्योंकि नेटवर्क पर कम डेटा ट्रांसमिट करने की आवश्यकता होती है।

PWB का एक और लाभ आर्काइव के भीतर व्यक्तिगत फाइलों तक रैंडम एक्सेस के लिए इसका समर्थन है। क्योंकि प्रत्येक फाइल के मेटाडेटा में आर्काइव के भीतर उसका ऑफसेट और आकार शामिल होता है, फाइलों को पूरे आर्काइव को डीकंप्रेस करने की आवश्यकता के बिना जल्दी से ढूंढा और निकाला जा सकता है। यह कई एसेट वाले बड़े वेब ऐप के लिए विशेष रूप से उपयोगी है, क्योंकि यह मांग पर विशिष्ट संसाधनों की कुशल लोडिंग की अनुमति देता है।

PWB आर्काइव बनाने के लिए, डेवलपर PWB पैकेजर जैसे टूल का उपयोग कर सकते हैं, जो कमांड-लाइन यूटिलिटी और प्रोग्रामेटिक उपयोग के लिए लाइब्रेरी के रूप में उपलब्ध है। PWB पैकेजर वेब ऐप फाइलों की एक निर्देशिका को इनपुट के रूप में लेता है और सभी फाइलों और उनके मेटाडेटा वाली एक PWB आर्काइव जेनरेट करता है। डेवलपर कॉन्फ़िगरेशन विकल्प भी निर्दिष्ट कर सकते हैं, जैसे कि कुछ फाइलों या निर्देशिकाओं को छोड़ना, कस्टम MIME प्रकार सेट करना और कंप्रेसन स्तर को समायोजित करना।

जब PWB आर्काइव के रूप में पैकेज किए गए वेब ऐप को डिप्लॉय किया जाता है, तो ऐप को होस्ट करने वाला सर्वर आवश्यकतानुसार व्यक्तिगत फाइलों को निकालने और सर्व करने के लिए PWB कन्वर्टर का उपयोग कर सकता है। PWB कन्वर्टर एक सर्वर-साइड टूल है जो PWB आर्काइव से फाइलों को कुशलतापूर्वक निकालता है और उन्हें बाद के अनुरोधों के लिए मेमोरी या डिस्क पर कैश करता है। यह सर्वर को हर बार पूरे आर्काइव को निकालने की आवश्यकता के बिना विशिष्ट ऐप संसाधनों के लिए क्लाइंट अनुरोधों का तेजी से जवाब देने की अनुमति देता है।

PWB फॉर्मेट उनकी अखंडता और प्रामाणिकता सुनिश्चित करने के लिए डिजिटल रूप से हस्ताक्षरित आर्काइव का भी समर्थन करता है। डेवलपर PWB हेडर में एक डिजिटल हस्ताक्षर शामिल कर सकते हैं, जिसे सर्वर या क्लाइंट द्वारा यह पुष्टि करने के लिए सत्यापित किया जा सकता है कि आर्काइव के साथ छेड़छाड़ नहीं की गई है और यह एक विश्वसनीय स्रोत से उत्पन्न हुआ है। यह वेब ऐप कोड और संसाधनों के अनधिकृत संशोधन को रोकने में मदद करता है, जिससे सुरक्षा बढ़ती है।

सारांश में, PWB आर्काइव फॉर्मेट वेब एप्लीकेशन एसेट को कुशलतापूर्वक पैकेजिंग, कंप्रेसिंग और वितरित करने के लिए एक शक्तिशाली टूल है। मेटाडेटा और कंप्रेसन के साथ कई फाइलों को एक एकल आर्काइव में संयोजित करके, PWB स्टोरेज आवश्यकताओं को कम करता है, फाइल ट्रांसफर को गति देता है और व्यक्तिगत संसाधनों तक रैंडम एक्सेस को सक्षम करता है। जैसे-जैसे वेब ऐप आकार और जटिलता में बढ़ते रहते हैं, PWB फॉर्मेट डेवलपर्स को तेजी से लोडिंग समय और बेहतर प्रदर्शन के लिए अपने ऐप को ऑप्टिमाइज़ करने में मदद करता है।

फ़ाइल कंप्रेशन রিডन्डेंसी को कम करता है ताकि वही जानकारी कम बिट्स ले। आप कितनी दूर जा सकते हैं इसकी ऊपरी सीमा सूचना सिद्धांत द्वारा नियंत्रित होती है: दोषरहित कंप्रेशन के लिए, सीमा स्रोत की एन्ट्रॉपी है (शैनन का स्रोत कोडिंग प्रमेय और उनका मूल 1948 का पेपर “संचार का एक गणितीय सिद्धांत”देखें)। दोषपूर्ण कंप्रेशन के लिए, दर और गुणवत्ता के बीच का ट्रेड-ऑफ दर-विरूपण सिद्धांत द्वारा कब्जा कर लिया गया है।

दो स्तंभ: मॉडलिंग और कोडिंग

अधिकांश कंप्रेशर्स के दो चरण होते हैं। सबसे पहले, एक मॉडल डेटा में संरचना की भविष्यवाणी करता है या उजागर करता है। दूसरा, एक कोडर उन भविष्यवाणियों को लगभग-इष्टतम बिट पैटर्न में बदल देता है। एक क्लासिक मॉडलिंग परिवार लेम्पेल-ज़िव है: LZ77 (1977) और LZ78 (1978) बार-बार आने वाले सबस्ट्रिंग का पता लगाते हैं और कच्चे बाइट्स के बजाय संदर्भ उत्सर्जित करते हैं। कोडिंग पक्ष पर, हफमैन कोडिंग (मूल पेपर देखें 1952) अधिक संभावित प्रतीकों को छोटे कोड प्रदान करता है। अरिथमैटिक कोडिंग और रेंज कोडिंग बारीक-बारीक विकल्प हैं जो एन्ट्रॉपी सीमा के करीब निचोड़ते हैं, जबकि आधुनिक असममित अंक प्रणाली (ANS) तेज तालिका-चालित कार्यान्वयन के साथ समान कंप्रेशन प्राप्त करता है।

आम प्रारूप वास्तव में क्या करते हैं

DEFLATE (gzip, zlib, और ZIP द्वारा उपयोग किया जाता है) LZ77 को हफमैन कोडिंग के साथ जोड़ता है। इसके स्पेक्स सार्वजनिक हैं: DEFLATE RFC 1951, zlib रैपर RFC 1950, और gzip फ़ाइल प्रारूप RFC 1952. Gzip स्ट्रीमिंग के लिए बनाया गया है और स्पष्ट रूप से यादृच्छिक पहुँच प्रदान करने का प्रयास नहीं करता है. PNG छवियां DEFLATE को अपनी एकमात्र कंप्रेशन विधि के रूप में मानकीकृत करती हैं (अधिकतम 32 KiB विंडो के साथ), PNG स्पेक के अनुसार “संपीड़न विधि 0… डिफ्लेट/इन्फ्लेट… अधिकतम 32768 बाइट्स” और W3C/ISO PNG दूसरा संस्करण.

Zstandard (zstd): एक नया सामान्य-उद्देश्य कंप्रेसर है जिसे बहुत तेज डीकंप्रेसन के साथ उच्च अनुपात के लिए डिज़ाइन किया गया है। प्रारूप RFC 8878 (यह भी HTML मिरर) और संदर्भ स्पेक GitHub परमें प्रलेखित है। Gzip की तरह, मूल फ्रेम यादृच्छिक पहुँच का लक्ष्य नहीं रखता है. zstd की महाशक्तियों में से एक शब्दकोश है: आपके कॉर्पस से छोटे नमूने जो कई छोटी या समान फ़ाइलों पर संपीड़न में नाटकीय रूप से सुधार करते हैं (देखें python-zstandard शब्दकोश डॉक्स और निगेल ताओ का काम किया हुआ उदाहरण)। कार्यान्वयन “असंरचित” और “संरचित” दोनों शब्दकोशों को स्वीकार करते हैं (चर्चा).

Brotli: वेब सामग्री के लिए अनुकूलित (जैसे, WOFF2 फोंट, HTTP)। यह एक स्थिर शब्दकोश को एक DEFLATE-जैसे LZ+एन्ट्रॉपी कोर के साथ मिलाता है। स्पेक RFC 7932है, जो 2WBITS−16 की एक स्लाइडिंग विंडो को भी नोट करता है जिसमें WBITS [10, 24] (1 KiB−16 B से 16 MiB−16 B तक) में है और यह यादृच्छिक पहुँच का प्रयास नहीं करता है. Brotli अक्सर वेब टेक्स्ट पर gzip को मात देता है जबकि जल्दी से डीकोड करता है।

ZIP कंटेनर: ZIP एक फ़ाइल संग्रह है जो विभिन्न संपीड़न विधियों (deflate, store, zstd, आदि) के साथ प्रविष्टियों को संग्रहीत कर सकता है। वास्तविक मानक PKWARE का APPNOTE है (देखें APPNOTE पोर्टल, एक होस्ट की गई प्रति, और LC अवलोकन ज़िप फ़ाइल प्रारूप (PKWARE) / ज़िप 6.3.3).

गति बनाम अनुपात: प्रारूप कहाँ उतरते हैं

LZ4 मामूली अनुपात के साथ कच्ची गति को लक्षित करता है। इसकी परियोजना पृष्ठ (“अत्यंत तेज संपीड़न”) और फ्रेम प्रारूपदेखें। यह इन-मेमोरी कैश, टेलीमेट्री, या हॉट पाथ के लिए आदर्श है जहां डीकंप्रेसन को रैम की गति के करीब होना चाहिए।

XZ / LZMA अपेक्षाकृत धीमी संपीड़न के साथ घनत्व (महान अनुपात) के लिए धक्का देते हैं। XZ एक कंटेनर है; भारी उठाने का काम आमतौर पर LZMA/LZMA2 (LZ77-जैसा मॉडलिंग + रेंज कोडिंग) द्वारा किया जाता है। देखें .xz फ़ाइल प्रारूप, LZMA स्पेक (पावलोव), और लिनक्स कर्नेल नोट्स XZ एंबेडेड पर. XZ आमतौर पर gzip को आउट-कंप्रेस करता है और अक्सर उच्च-अनुपात वाले आधुनिक कोडेक्स के साथ प्रतिस्पर्धा करता है, लेकिन धीमी एन्कोड समय के साथ।

bzip2 बरोज़-व्हीलर ट्रांसफ़ॉर्म (BWT), मूव-टू-फ्रंट, RLE, और हफ़मैन कोडिंग लागू करता है। यह आमतौर पर gzip से छोटा लेकिन धीमा होता है; देखें आधिकारिक मैनुअल और मैन पेज (लिनक्स).

विंडोज़, ब्लॉक और रैंडम एक्सेस

“विंडो का आकार” मायने रखता है। DEFLATE संदर्भ केवल 32 KiB पीछे देख सकते हैं (RFC 1951 और PNG की 32 KiB कैप यहाँ उल्लेख किया गया है)। ब्रोटली की विंडो लगभग 1 KiB से 16 MiB तक होती है (RFC 7932). Zstd स्तर के अनुसार विंडो और खोज गहराई को ट्यून करता है (RFC 8878). बेसिक gzip/zstd/brotli स्ट्रीम अनुक्रमिक डिकोडिंग के लिए डिज़ाइन किए गए हैं; आधार प्रारूप रैंडम एक्सेस का वादा नहीं करते हैं, हालांकि कंटेनर (जैसे, टार इंडेक्स, चंक्ड फ्रेमिंग, या प्रारूप-विशिष्ट इंडेक्स) इसे परत कर सकते हैं।

दोषरहित बनाम दोषपूर्ण

उपरोक्त प्रारूप दोषरहित हैं: आप सटीक बाइट्स का पुनर्निर्माण कर सकते हैं। मीडिया कोडेक्स अक्सर दोषपूर्ण होते हैं: वे कम बिटरेट हिट करने के लिए अगोचर विवरण को त्याग देते हैं। छवियों में, क्लासिक जेपीईजी (डीसीटी, क्वांटिज़ेशन, एन्ट्रॉपी कोडिंग) ITU-T T.81 / ISO/IEC 10918-1में मानकीकृत है। ऑडियो में, एमपी3 (MPEG-1 लेयर III) और एएसी (MPEG-2/4) अवधारणात्मक मॉडल और एमडीसीटी ट्रांसफ़ॉर्म पर निर्भर करते हैं (देखें ISO/IEC 11172-3, ISO/IEC 13818-7, और एक एमडीसीटी अवलोकन यहाँ)। दोषपूर्ण और दोषरहित सह-अस्तित्व में हो सकते हैं (जैसे, यूआई संपत्ति के लिए पीएनजी; छवियों/वीडियो/ऑडियो के लिए वेब कोडेक्स)।

व्यावहारिक सुझाव

  • काम के लिए चुनें। वेब टेक्स्ट और फोंट: brotli. सामान्य फ़ाइलें और बैकअप: zstd (शानदार डीकंप्रेसन गति और अनुपात के लिए समय का व्यापार करने के स्तर)। अल्ट्रा-फास्ट पाइप और टेलीमेट्री: lz4. लंबी अवधि के अभिलेखागार के लिए अधिकतम घनत्व जहां एन्कोड समय ठीक है: xz/LZMA.
  • छोटी फ़ाइलें? zstd (डॉक्स) / (उदाहरण)के साथ शब्दकोशों को प्रशिक्षित और शिप करें। वे दर्जनों छोटी, समान वस्तुओं को नाटकीय रूप से सिकोड़ सकते हैं।
  • अंतरसंचालनीयता। कई फ़ाइलों का आदान-प्रदान करते समय, एक कंटेनर (ZIP, tar) और एक कंप्रेसर को प्राथमिकता दें। ज़िप का APPNOTE विधि आईडी और सुविधाओं को परिभाषित करता है; देखें PKWARE APPNOTE और LC अवलोकन यहाँ.
  • अपने डेटा पर मापें। अनुपात और गति कॉर्पस के अनुसार भिन्न होती है। कई रेपो बेंचमार्क प्रकाशित करते हैं (जैसे, LZ4 का README सिलेसिया कॉर्पस यहाँका हवाला देता है), लेकिन हमेशा स्थानीय रूप से मान्य करें।

मुख्य संदर्भ (गहरी गोता)

सिद्धांत: शैनन 1948 · दर-विरूपण · कोडिंग: हफमैन 1952 · अरिथमैटिक कोडिंग · रेंज कोडिंग · ANS. प्रारूप: DEFLATE · zlib · gzip · Zstandard · Brotli · LZ4 फ्रेम · XZ प्रारूप. BWT स्टैक: बरोज़-व्हीलर (1994) · bzip2 मैनुअल. मीडिया: जेपीईजी T.81 · एमपी3 ISO/IEC 11172-3 · एएसी ISO/IEC 13818-7 · एमडीसीटी.

निष्कर्ष: एक कंप्रेसर चुनें जो आपके डेटा और बाधाओं से मेल खाता हो, वास्तविक इनपुट पर मापें, और शब्दकोशों और स्मार्ट फ्रेमिंग से होने वाले लाभों को न भूलें। सही जोड़ी के साथ, आप प्राप्त कर सकते हैं छोटी फाइलें, तेज स्थानान्तरण, और तेज ऐप्स - शुद्धता या पोर्टेबिलिटी का त्याग किए बिना।

अक्सर पूछे जाने वाले प्रश्न

फाइल संकुचन क्या है?

फ़ाइल संकुचन एक प्रक्रिया है जो फ़ाइल या फ़ाइलों का आकार घटाती है, आमतौर पर संग्रहण स्थान को बचाने या नेटवर्क पर संचार को तेज करने के लिए।

फाइल संकुचन कैसे काम करता है?

फ़ाइल संकुचन डाटा में रिडंडेंसी की पहचान और हटाने के द्वारा काम करता है। यह एल्गोरिदम का उपयोग करके मूल डेटा को एक छोटे स्थान में कोड करता है।

फाइल संकुचन के कौन से प्रकार हैं?

फ़ाइल संकुचन के दो मुख्य प्रकार हैं - नुकसान रहित और नुकसानदायक संकुचन। नुकसान रहित संकुचन की अनुमति है कि मूल फ़ाइल को पूरी तरह से बहाल किया जा सके, जबकि नुकसानदायक संकुचन डेटा की गुणवत्ता में कुछ हानि की लागत पर अधिक आकार घटाव की अनुमति देता है।

फाइल संकुचन उपकरण का उदाहरण क्या है?

फाइल संकुचन उपकरण का एक लोकप्रिय उदाहरण WinZip है, जो ZIP और RAR सहित कई संकुचन प्रारूपों का समर्थन करता है।

क्या फाइल संकुचन फ़ाइलों की गुणवत्ता को प्रभावित करता है?

नुकसान रहित संकुचन के साथ, गुणवत्ता अपरिवर्तित रहती है। हालांकि, नुकसानदायक संकुचन के साथ, फ़ाइल का आकार अधिक ध्यान से घटाने के लिए कुछ कम महत्वपूर्ण डेटा को हटाने के कारण गुणवत्ता में ध्यान देने योग्य कमी हो सकती है।

क्या फाइल संकुचन सुरक्षित है?

हां, डेटा संरक्षण के संबंध में फ़ाइल संकुचन सुरक्षित है, खासकर नुकसान रहित संकुचन के साथ। हालांकि, किसी भी फ़ाइल की तरह, संकुचित फ़ाइलों को मैलवेयर या वायरस के लक्ष्य के रूप में लिया जा सकता है, इसलिए यह हमेशा महत्त्वपूर्ण होता है कि प्रमुख सुरक्षा सॉफ़्टवेयर स्थापित हो।

कौन सी फ़ाइलों को संकुचित किया जा सकता है?

लगभग सभी प्रकार की फ़ाइलें संकुचित की जा सकती हैं, जिसमें पाठ फ़ाइलें, चित्र, ऑडियो, वीडियो, और सॉफ़्टवेयर फ़ाइलें शामिल हैं। हालांकि, प्राप्त करने योग्य संकुचन का स्तर फ़ाइल प्रकारों के बीच महत्वपूर्ण रूप से अलग हो सकता है।

ZIP फ़ाइल से क्या मतलब है?

ZIP फ़ाइल एक प्रकार की फ़ाइल प्रारूप है जो नुकसान रहित संकुचन का उपयोग करके एक या अधिक फ़ाइलों के आकार को घटाती है। ZIP फ़ाइल में अनेक फ़ाइलें प्रभावी रूप से एक ही फ़ाइल में संग्रहित की जाती हैं, जो साझा करना भी आसान बनाती है।

क्या मैं पहले से संकुचित फ़ाइल को दोबारा संकुचित कर सकता हूँ?

तकनीकी रूप से, हां, हालांकि अतिरिक्त आकार घटाव न्यूनतम हो सकता है या यहां तक कि प्रतिकूल हो सकता है। पहले से संकुचित फ़ाइल को संकुचित करना कभी-कभी इसका आकार बढ़ सकता है क्योंकि संकुचन एल्गोरिदम द्वारा जोड़ी गई मेटाडाटा।

मैं फाइल को कैसे डिकम्प्रेस कर सकता हूं?

फ़ाइल को डिकम्प्रेस करने के लिए, आपको आमतौर पर एक डिकम्प्रेसन या अनज़िपिंग उपकरण की आवश्यकता होती है, जैसे WinZip या 7-Zip। ये उपकरण संपीडित प्रारूप से मूल फ़ाइलों को निकाल सकते हैं।