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 পেলোড

API-তে বড় JSON বা টেক্সট পেলোড কম্প্রেস করা

Base64 + Gzip একসাথে কেন?

Raw 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 raw 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-এর চেয়ে মাত্র এক-অঙ্কের শতাংশ জেতে অথচ লক্ষণীয়ভাবে বেশি সময় নেয়। ওয়েব রেসপন্সের ক্ষেত্রে শেষ 5% সাইজের চেয়ে CPU সময়ই প্রায়ই বেশি গুরুত্বপূর্ণ।

{-- * 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 --}}