अंतर्निहित gzip मॉड्यूल का उपयोग करके अपने बाइट स्ट्रीम को डिक्रॉप करें।
आपको कोई समस्या है, तो एक साथ print repr(your_byte_stream[:100])
अधिक जानकारी
1. के परिणाम के लिए के साथ, सही कम से कम कोड है कि आप का इस्तेमाल किया, सटीक त्रुटि संदेश और ट्रैसबैक दिखाते हैं gzip/zlib/deflate भ्रम की व्याख्या, this Wikipedia article के "अन्य उपयोग" खंड को पढ़ें।
2. यदि आपके पास फ़ाइल की बजाय स्ट्रिंग है तो gzip मॉड्यूल की तुलना में zlib मॉड्यूल का उपयोग करना आसान हो सकता है। दुर्भाग्य से Python docs अधूरा/गलत कर रहे हैं:
"" " zlib.decompress (स्ट्रिंग [, wbits [, bufsize]]) ... wbits का निरपेक्ष मान के आकार के आधार दो लघुगणक है इतिहास बफर ("विंडो आकार") डेटा संपीड़ित करते समय उपयोग किया जाता है। इसका पूर्ण मान ज़्लिब लाइब्रेरी के नवीनतम संस्करणों के लिए 8 और 15 के बीच होना चाहिए, बड़े मानों के परिणामस्वरूप अधिक मेमोरी उपयोग की कीमत पर बेहतर संपीड़न होता है। डिफ़ॉल्ट मान 15 है। जब wbits नकारात्मक है, मानक gzip हेडर दबाया जाता है; यह zlib लाइब्रेरी की एक अनियंत्रित विशेषता है, जो अनजिप के संपीड़न फ़ाइल प्रारूप के साथ संगतता के लिए उपयोग की जाती है। ""
सबसे पहले, ऊपर दिए गए अर्थ के साथ, 8 < = log2_window_size < = 15। फिर शीर्ष पर एक अलग तर्क होना चाहिए:
arg == log2_window_size का मतलब है कि मान लें कि स्ट्रिंग zlib प्रारूप में है (आरएफसी 1 9 50; HTTP 1.1 आरएफसी 2616 क्या भ्रमित रूप से "डिफ्लेट" कहता है)।
आर्ग == -log2_window_size का मतलब मान स्ट्रिंग Deflate प्रारूप में है (RFC 1951; लोग हैं, जो HTTP 1.1 RFC ध्यान से वास्तव में कार्यान्वित पढ़ा नहीं था क्या)
आर्ग == 16 + log_2_window_size का मतलब मान स्ट्रिंग में है जीजीआईपी प्रारूप (आरएफसी 1 9 52)। तो आप 31.
उपर्युक्त जानकारी zlib C library manual में प्रलेखित है ... Ctrl-F windowBits
के लिए खोजें।
स्रोत
2010-04-23 00:38:44
आप मेरी जान बचाते हैं) – Oduvan
क्या आप टिप्पणी कर सकते हैं कि डिकंप्रेस के लिए दूसरा तर्क क्या है? और ऐसा क्यों है ... अच्छा ... अजीब? – DataGreed
@ डेटागाreed, दूसरा तर्क खिड़की के आकार के लिए है, कृपया नीचे जॉन माचिन का उत्तर देखें। – YOU