UTILS.
‎100%‎ داخل المتصفح
🗜️

ضغط وفك ضغط Gzip / Zlib / Deflate

اضغط النص أو فك ضغطه بصيغ gzip أو zlib (deflate) أو raw DEFLATE الأصلية داخل المتصفح، مع مخرجات base64/hex ونسبة الضغط.

أدخل بيانات أعلاه للضغط أو فك الضغط.

حول هذه الأداة

تضغط أداة Gzip / Zlib / Deflate البيانات وتفك ضغطها بالكامل في متصفحك باستخدام واجهتَي CompressionStream وDecompressionStream الأصليتين. اختر صيغة الحاوية — gzip (صيغة .gz ببايتاتها السحرية 0x1F 0x8B)، أو zlib/deflate (بيانات DEFLATE ملفوفة برأس zlib)، أو deflate-raw (DEFLATE عارٍ بلا رأس) — واتجاهًا. يأخذ الضغط نص UTF-8 الخاص بك ويُرجع البايتات المضغوطة مُرمّزة بـ base64 أو hex؛ ويأخذ فك الضغط base64 أو hex ويُرجع النص الأصلي.

ولأنه يستخدم الضغط التدفقي المدمج في المتصفح، لا يُرفع أي شيء ولا تُحمّل مكتبة خارجية — تبقى بياناتك على جهازك. الصيغ الثلاث غير قابلة للتبادل: يضيف gzip وzlib رؤوسًا ومجاميع تحقق مختلفة (CRC-32 لـ gzip، وAdler-32 لـ zlib) حول حمولة DEFLATE نفسها، بينما يحذف deflate-raw كليهما، لذا يجب فك الضغط بالصيغة نفسها التي ضغطت بها. بعد الضغط، تبلّغ الأداة عن الحجم الأصلي والحجم المضغوط ونسبة الضغط كنسبة مئوية (1 − مضغوط / أصلي)، وهي مقدار صغر المخرج.

يُضغط النص شديد التكرار بشكل كبير؛ أما المدخل القصير أو المضغوط سلفًا فقد يكبر فعلًا بسبب زيادة الرأس ومجموع التحقق، وهذا طبيعي. إذا لم يكشف متصفحك عن CompressionStream فإن الأداة تقول ذلك بدلًا من إنتاج مخرج خاطئ. لاحظ أن الواجهة الأصلية تستخدم مستوى ضغط افتراضيًا ثابتًا، لذا لا يوجد محدّد مستوى. انسخ النتيجة بنقرة واحدة.

الأسئلة الشائعة

ما الفرق بين gzip وzlib وraw deflate؟
تستخدم الثلاث جميعها خوارزمية DEFLATE. يلفّها gzip برأس من 10 بايتات وبايتات سحرية 0x1F 0x8B وCRC-32؛ ويلفّها zlib (deflate) برأس قصير ومجموع تحقق Adler-32؛ أما deflate-raw فلا رأس له ولا مجموع تحقق. فُكّ الضغط بالصيغة نفسها التي استخدمتها للضغط.
ما المدخل الذي يتوقعه فك الضغط؟
الصق البيانات المضغوطة كـ base64 أو hex (طابق محدّد ترميز المخرج). تفك الأداة ترميزها إلى بايتات وتفكّ ضغطها بالصيغة المختارة. إذا كانت البايتات مبتورة أو بصيغة خاطئة، تبلّغ بأنه تعذّر فكّ ضغط البيانات.
لماذا كبر نصي بعد الضغط؟
يضيف gzip وzlib بايتات رأس ومجموع تحقق، ويحتاج DEFLATE إلى تكرار كافٍ لإيجاد التوفير. للمدخل القصير جدًا أو العشوائي/المضغوط سلفًا تفوق هذه الزيادة أي مكسب، لذا قد يكون المخرج أكبر — وهذا متوقّع.
هل يمكنني اختيار مستوى الضغط؟
لا. لا تكشف واجهة CompressionStream الأصلية عن معامل مستوى، لذا يُستخدم مستوى افتراضي ثابت. يظل المخرج تدفق gzip/zlib/deflate صالحًا تمامًا يمكن لأي أداة قياسية (gunzip أو zlib أو pako) فكّ ضغطه.

المزيد من الأدوات