DevToys Web Pro iconDevToys Web Proوبلاگ
به ما امتیاز دهید:
افزونه مرورگر را امتحان کنید:

استخراج‌کننده Bzip2

فرمت ورودی:
ورودی Base64
  • یا یک فایل .bz2 را رها کنید

    خروجیِ از حالت فشرده خارج‌شده
  • دربارهٔ Bzip2

    Bzip2 از الگوریتم مرتب‌سازی بلوکی Burrows-Wheeler و سپس کدگذاری هافمن استفاده می‌کند و با هزینهٔ سرعت کمتر و مصرف حافظهٔ بیشتر، نسبت‌های فشرده‌سازی بهتری نسبت به gzip به دست می‌آورد.

    • در لینوکس/مک‌اواس برای فشرده‌سازی تک‌فایل رایج است (پسوند .bz2)
    • فشرده‌سازی معمول: نسبت ۱۰ تا ۱۵٪ بهتر از gzip
    • فشرده‌سازی با CLI: bzip2 file.txt
    • از حالت فشرده خارج کردن با CLI: bunzip2 file.txt.bz2
    • اغلب همراه با tar استفاده می‌شود: tar -xjf archive.tar.bz2

    تمام پردازش‌ها در مرورگر شما انجام می‌شود — هیچ داده‌ای به هیچ سروری ارسال نمی‌شود.

    جزئیات فنی

    نحوه کار ابزار استخراج Bzip2

    این ابزار چه کاری انجام می‌دهد

    ابزار استخراج Bzip2 فایل‌های فشرده .bz2 را به‌طور کامل در مرورگر دیکد می‌کند و محتوای اصلیِ بدون فشرده‌سازی را تولید می‌کند. این ابزار خط لوله استخراجِ تبدیل Burrows-Wheeler و کدگذاری هافمن را در JavaScript و بدون هیچ پردازش سمت سرور پیاده‌سازی می‌کند. این ابزار فقط برای دیکد است — داده‌های bzip2 را از حالت فشرده خارج می‌کند اما آرشیوهای bzip2 جدید ایجاد نمی‌کند.

    موارد استفادهٔ رایج برای توسعه‌دهندگان

    توسعه‌دهندگان از این ابزار برای بررسی سریع فایل‌های لاگِ فشرده‌شده با bzip2، دامپ‌های پایگاه داده یا آرشیوهای سورس بدون نصب ابزارهای خط فرمان استفاده می‌کنند. این ابزار زمانی مفید است که روی سیستم‌هایی کار می‌کنید که bzip2 از پیش نصب نیست (Windows، کانتینرهای مینیمال)، وقتی لازم است نگاهی به محتوای یک فایل .bz2 دانلودشده از مخزن بسته‌ها بیندازید، یا وقتی می‌خواهید یک فایل را از همکار خود بدون سر و کار داشتن با ترمینال از حالت فشرده خارج کنید.

    قالب‌ها، نوع‌ها یا گونه‌های داده

    Bzip2 از یک خط لوله شامل تبدیل Burrows-Wheeler (BWT)، کدگذاری Move-to-Front و کدگذاری هافمن استفاده می‌کند تا معمولاً نسبت‌های فشرده‌سازی حدود 10 تا 15٪ بهتر از gzip را به قیمت سرعت کمتر به دست آورد. فایل‌ها از پسوند .bz2 استفاده می‌کنند و با بایت‌های جادویی 'BZ' شروع می‌شوند و پس از آن یک نشانگر نسخه می‌آید. اندازه بلوک‌ها از 100k تا 900k (که با ارقام 1 تا 9 در هدر مشخص می‌شود) متغیر است؛ بلوک‌های بزرگ‌تر فشرده‌سازی بهتری می‌دهند اما برای استخراج به حافظه بیشتری نیاز دارند.

    دام‌های رایج و حالت‌های لبه‌ای

    Bzip2 مانند gzip به‌صورت تمیز از استخراج جریانی (streaming) پشتیبانی نمی‌کند — پیش از تولید هر خروجی باید کل بلوک خوانده شود، یعنی فایل‌های بسیار بزرگ ممکن است مقدار قابل‌توجهی از حافظه مرورگر را مصرف کنند. فایل‌های bzip2 چندجریانی (که توسط pbzip2 برای فشرده‌سازی موازی ایجاد می‌شوند) شامل جریان‌های bzip2 به‌هم‌چسبیده هستند که برخی دیکدرها آن‌ها را نادرست مدیریت می‌کنند. این ابزار فایل‌های استاندارد .bz2 تک‌جریانی را پشتیبانی می‌کند؛ برای آرشیوهای .tar.bz2، محتوای خام tar را دریافت می‌کنید که هنوز باید استخراج شود.

    چه زمانی از این ابزار استفاده کنیم در برابر کُد

    از این ابزار مرورگری برای استخراج سریع و تک‌بار مصرف استفاده کنید وقتی می‌خواهید بدون نصب ابزارهای bzip2 نگاهی به محتوای فایل بیندازید. برای استخراج اسکریپتی در خط لوله‌ها، پردازش دسته‌ای چندین آرشیو، یا رسیدگی به فایل‌های .tar.bz2 که نیاز به استخراج دارند، از bzip2/pbzip2 خط فرمان یا کتابخانه‌های زبانی مثل ماژول bz2 پایتون استفاده کنید که از streaming پشتیبانی می‌کنند و با استخراج tar یکپارچه می‌شوند.