LZ4 फ़ाइल क्या है?
.lz4 एक्सटेंशन वाली फाइल एक कंप्रेस्ड आर्काइव फाइल होती है, जो LZ4 कम्प्रेशन को सपोर्ट करती है। LZ4 एल्गोरिथ्म गति और संपीड़न अनुपात के बीच व्यापार-बंद पर केंद्रित है। संपीड़ित LZ4 अभिलेखागार LZ4 कमांड-लाइन उपयोगिता का उपयोग करके बनाया जा सकता है और उसी का उपयोग करके विघटित किया जा सकता है।
LZ4 फ़ाइल स्वरूप
LZ4 संपीड़न एल्गोरिथ्म पर आधारित LZ4 फ़ाइल स्वरूप, CPU प्रकार, ऑपरेटिंग सिस्टम, फ़ाइल सिस्टम और वर्ण सेट से स्वतंत्र है। यह LZ4 एल्गोरिथ्म का उपयोग करके फ़ाइल संपीड़न और स्ट्रीमिंग संपीड़न के लिए उपयुक्त है। LZ4 प्रारूप का प्रारंभिक कार्यान्वयन 2011 में यान कोलेट द्वारा C भाषा में किया गया था और यह Github पर डेवलपर के संदर्भ के लिए उपलब्ध है। .
LZ4 फ़्रेम प्रारूप
LZ4 फ़ाइल स्वरूप की सामान्य संरचना नीचे दी गई है।
मैजिकएनबी | एफ. विवरणक | ब्लॉक | (…) | एंडमार्क | सी. चेकसम |
---|---|---|---|---|---|
4 बाइट्स | 3-15 बाइट्स | 4 बाइट्स | 0-4 बाइट्स |
जादुई संख्या
4 बाइट्स, लिटिल एंडियन प्रारूप। मान: 0x184D2204
फ़्रेम डिस्क्रिप्टर
फ्रेम डिस्क्रिप्टर में 3 t0 15 बाइट्स होते हैं और यह विनिर्देशों का सबसे महत्वपूर्ण हिस्सा है। साथ में, Magic_Number और Frame_Descriptor फ़ील्ड को LZ4 फ़्रेम हेडर के रूप में संदर्भित किया जाता है, और इसका आकार 7 और 19 बाइट्स के बीच भिन्न होता है। यह नीचे दिखाया गया है।
एफएलजी | बीडी | (सामग्री का आकार) | (शब्दकोश आईडी) | एचसी |
---|---|---|---|---|
1 बाइट | 1 बाइट | 0 - 8 बाइट्स | 0 - 4 बाइट्स | 1 बाइट |
डेटा ब्लॉक
प्रत्येक डेटा ब्लॉक निम्नलिखित क्रम का पालन करता है।
ब्लॉक साइज | डेटा | (ब्लॉक चेकसम) |
---|---|---|
4 बाइट्स | 0 - 4 बाइट्स |
एंडमार्क
ब्लॉक का प्रवाह तब समाप्त होता है जब अंतिम डेटा ब्लॉक के बाद 32-बिट मान 0x00000000 होता है।
सामग्री चेकसम
Content_Checksum सही ढंग से डीकोड की जा रही सामग्री की वैधता की पुष्टि करता है और xxHash-32 एल्गोरिदम के परिणाम का उपयोग करके किया जाता है। यह सभी ब्लॉकों के सफल प्रसारण के परिणामों को सही क्रम में और बिना किसी त्रुटि के मान्य करता है।