Gzip ڈی کمپریسر اور کمپریسر

Base64 gzip یا hex gzip ڈیٹا کو دوبارہ پڑھنے کے قابل متن میں ڈی کمپریس کریں، یا متن کو Base64 gzip میں کمپریس کریں۔ سائز کا موازنہ دکھاتا ہے۔ سب کچھ آپ کے براؤزر میں چلتا ہے — کچھ بھی اپ لوڈ نہیں ہوتا۔

کمپریس اور ڈی کمپریس Base64 انکوڈنگ کلائنٹ سائیڈ پروسیسنگ

ان پٹ زیادہ سے زیادہ 1 MiB؛ کھلا UTF-8 متن زیادہ سے زیادہ 8 MiB۔ براؤزر میں عمل ہوتا ہے؛ ZIP یا بائنری فائلیں معاون نہیں ہیں۔

Gzip اور HTTP کمپریشن

Gzip عموماً 1f 8b 08 سے شروع ہوتا ہے۔ Base64 بائٹس کو متن میں ظاہر کرتا ہے۔ HTTP Content-Encoding: gzip عموماً بائنری بھیجتا ہے؛ براؤزر اسے پہلے کھول چکا ہو سکتا ہے۔ Gzip، ZIP نہیں ہے۔

RFC 1952 · RFC 9110 §8.4.1.3

Gzip ڈی کوڈر استعمال کرنے کا طریقہ

1

موڈ منتخب کریں

کمپریس (متن سے gzip) یا ڈی کمپریس (gzip سے متن) موڈ منتخب کریں۔

2

ان پٹ دیں

موڈ کے مطابق Base64 انکوڈ شدہ gzip ڈیٹا یا سادہ متن پیسٹ کریں۔

3

تبدیل اور جانچ

تبدیل کریں پر کلک کریں اور سائز کا موازنہ اور آؤٹ پٹ دیکھیں۔

Gzip کیا ہے؟

Gzip کمپریشن اور ڈی کمپریشن کے لیے ایک فائل فارمیٹ اور سافٹ ویئر ایپلیکیشن ہے۔ یہ DEFLATE الگورتھم استعمال کرتا ہے جو LZ77 اور Huffman کوڈنگ کو جوڑتا ہے۔ ویب سرورز، ڈیٹا ٹرانسفر اور فائل آرکائیونگ میں فائلوں کا سائز کم کرنے کے لیے Gzip بکثرت استعمال ہوتا ہے۔

عام استعمال

ویب کمپریشن

ٹرانسفر سائز کم کرنے کے لیے HTTP سرورز جوابات کمپریس کرتے ہیں

فائل آرکائیونگ

فائلوں کے .gz کمپریس شدہ آرکائیو بنانا

API پے لوڈ

APIs میں بڑے JSON یا متن پے لوڈ کمپریس کرنا

Base64 + Gzip مل کر کیوں؟

خام gzip ڈیٹا بائنری ہوتا ہے — جہاں صرف متن قبول ہوتا ہے وہاں اسے محفوظ یا بھیجا نہیں جا سکتا۔ Base64 کمپریس شدہ بائٹس کو محفوظ ASCII حروف میں انکوڈ کرتا ہے، اسی لیے جدید سسٹمز میں ہر جگہ "Base64 انکوڈ شدہ gzip" نظر آتا ہے:

کلاؤڈ ایرر پے لوڈ

S3 اور دیگر کلاؤڈ سروسز gzipped ایرر باڈیز JSON میں Base64 کے طور پر واپس کرتی ہیں

سرور لیس اور قطار پیغامات

Lambda پے لوڈ اور SQS/Kafka پیغامات متن محفوظ رہنے کے لیے کمپریس ہو کر Base64 میں انکوڈ کیے جاتے ہیں

HTTP اور API باڈیز

بڑے JSON پے لوڈ Content-Encoding: gzip سے کمپریس ہو کر متن فیلڈز میں Base64 کے طور پر لے جایے جاتے ہیں

لاگز اور ویب ہوکس

کمپریس شدہ لاگ بیچز اور ویب ہوک پے لوڈ Base64 سٹرنگز کے طور پر بھیجے جاتے ہیں

یہ ٹول یہ امتزاج ایک ہی قدم میں سنبھالتا ہے: Base64 سٹرنگ پیسٹ کریں، یہ Base64 ڈی کوڈ کر کے gzip کو دوبارہ پڑھنے کے قابل متن میں ڈی کمپریس کر دیتا ہے۔ Hex انکوڈ شدہ gzip بائٹس (جیسے 1f 8b 08) بھی قبول ہیں۔

عام سوالات

Base64 آؤٹ پٹ ان پٹ سے بڑا کیوں ہے؟

پہلے سے چھوٹے یا انتہائی بے ترتیب ڈیٹا کو کمپریس کرنے پر Gzip کمپریشن سائز نہیں گھٹا سکتا، اور Base64 انکوڈنگ ~33% اوور ہیڈ شامل کرتی ہے۔ یہ ٹول سائز کا موازنہ دکھاتا ہے تاکہ آپ فائدے کا جائزہ لے سکیں۔

زیادہ سے زیادہ ان پٹ سائز کیا ہے؟

یہ ٹول ڈیٹا مکمل طور پر آپ کے براؤزر میں پروسیس کرتا ہے۔ بہت بڑے ان پٹ (کئی MB) کام کر سکتے ہیں مگر براؤزر سست ہو سکتا ہے۔ بڑی فائلوں کی پروڈکشن کمپریشن کے لیے سرور سائیڈ ٹولز استعمال کریں۔

کیا یہ .zip فائلوں جیسا ہی ہے؟

نہیں۔ Gzip ایک واحد سٹریم یا فائل کمپریس کرتا ہے۔ .zip فارمیٹ ایک آرکائیو فارمیٹ ہے جس میں کئی فائلیں الگ الگ کمپریشن کے ساتھ ہو سکتی ہیں۔ Gzip سادہ ہے اور اکثر واحد فائل کمپریشن اور HTTP کنٹینٹ انکوڈنگ میں استعمال ہوتا ہے۔

Base64 انکوڈ شدہ gzip ڈیٹا کیسے ڈی کوڈ کروں؟

ڈی کمپریس موڈ منتخب کر کے Base64 سٹرنگ ان پٹ باکس میں پیسٹ کریں۔ ٹول پہلے Base64 کو بائنری gzip بائٹس میں ڈی کوڈ کرتا ہے، پھر DEFLATE الگورتھم سے ڈی کمپریس کر کے پڑھنے کے قابل متن دکھاتا ہے۔ دستی دو قدمی ڈی کوڈنگ کی ضرورت نہیں۔

Gzip، Deflate اور Zlib میں کیا فرق ہے؟

تینوں ایک ہی DEFLATE کمپریشن الگورتھم استعمال کرتے ہیں مگر مختلف طریقے سے لپیٹتے ہیں۔ Zlib خام deflate سٹریم کے گرد چھوٹا ہیڈر اور چیک سم شامل کرتا ہے۔ Gzip deflate کو ہیڈر، ٹائم سٹیمپ اور CRC32 چیک سم والے فائل فارمیٹ میں لپیٹتا ہے۔ HTTP Content-Encoding میں "gzip" معیاری قیمت ہے، حالانکہ پے لوڈ عام طور پر صرف gzip میں لپیٹی ہوئی deflate سٹریم ہوتی ہے۔

کمانڈ لائن سے .gz فائلیں کیسے کمپریس یا ڈی کمپریس کروں؟

gzip file.txt فائل کو file.txt.gz میں کمپریس کرتا ہے اور اصل کو حذف کر دیتا ہے؛ -k اسے رکھتا ہے۔ gunzip file.txt.gz یا gzip -d سے ڈی کمپریس کریں۔ ایک ساتھ کئی فائلوں کے لیے tar czf archive.tar.gz dir/ ایک ہی قدم میں بنڈل اور کمپریس کرتا ہے، اور tar xf کھولتا ہے۔ zcat کچھ لکھے بغیر .gz فائل کو سٹریم کرتا ہے - کمپریس شدہ لاگز کے لیے آسان۔

کون سی کمپریشن لیول استعمال کروں؟

اس صفحے پر کمپریشن کی سطح منتخب نہیں کی جا سکتی۔ انکوڈر کی طے شدہ ترتیبات استعمال ہوتی ہیں اور نتیجہ ان پٹ پر منحصر ہوتا ہے۔ مخصوص سطح کے لیے ایسا کمپریشن ٹول استعمال کریں جو یہ ترتیب فراہم کرتا ہو۔

کیا Brotli اور zstd کے سائے میں gzip اب بھی متعلقہ ہے؟

zlib لیول 1-9 دیتی ہے: 1 تیز ترین مگر آؤٹ پٹ سب سے بڑا، 9 سب سے زیادہ کسٹا اور سب سے سست، اور 6 ڈیفالٹ ہے جو متن کے لیے تقریباً مثالی درمیانی نقطہ ہے۔ لیول 7-9 عام طور پر 6 پر صرف ایک ہندسے کے فیصد جیتتے ہیں جبکہ نمایاں طور پر زیادہ وقت لیتے ہیں۔ ویب جوابات میں CPU کا وقت اکثر آخری 5% سائز سے زیادہ اہم ہوتا ہے۔

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}