aspose.info
FA

LZ4 - فرمت فایل فشرده LZ4

به‌روزرسانی

فایل LZ4 چیست؟

یک فایل با پسوند lz4. یک فایل بایگانی فشرده است که با برنامه‌ها/دستگاه‌هایی که از فشرده‌سازی [LZ4](https://en.wikipedia.org/wiki/LZ4_(compression_algorithm) پشتیبانی می‌کنند ایجاد شده است. الگوریتم LZ4 بر مبادله بین سرعت و نسبت تراکم تمرکز دارد. بایگانی های فشرده LZ4 را می توان با استفاده از ابزار خط فرمان LZ4 ایجاد کرد و با استفاده از آن می توان از حالت فشرده خارج کرد.

فرمت فایل LZ4

فرمت فایل LZ4، بر اساس الگوریتم فشرده سازی LZ4، مستقل از نوع CPU، سیستم عامل، سیستم فایل و مجموعه کاراکترها است. برای فشرده سازی فایل و فشرده سازی جریان با استفاده از الگوریتم LZ4 مناسب است. پیاده سازی اولیه قالب LZ4 به زبان C توسط Yann Collet در سال 2011 انجام شد و برای مرجع توسعه دهندگان در Github در دسترس است.

قالب قاب LZ4

ساختار کلی فرمت فایل LZ4 مطابق شکل زیر است.

MagicNbF. توصیفگربلوک(…)EndMarkC. چک جمع
4 بایت3-15 بایت4 بایت0-4 بایت

شماره جادویی

4 بایت، فرمت اندین کوچک. مقدار: 0x184D2204

توصیفگر قاب

توصیفگر فریم از 3 t0 15 بایت تشکیل شده است و مهمترین بخش مشخصات است. فیلدهای Magic_Number و Frame_Descriptor با هم به عنوان LZ4 Frame Header نامیده می شوند و اندازه آن بین 7 تا 19 بایت متغیر است. مطابق شکل زیر است.

FLGBD(اندازه محتوا)(شناسه فرهنگ لغت)HC
1 بایت1 بایت0 - 8 بایت0 - 4 بایت1 بایت

بلوک های داده

هر بلوک داده از ترتیب زیر پیروی می کند.

اندازه بلوکداده(Block Checksum)
4 بایت0 - 4 بایت

علامت پایان

جریان بلوک ها زمانی پایان می یابد که آخرین بلوک داده با مقدار 0x00000000 32 بیتی دنبال شود.

جمع بازرسی محتوا

Content_Checksum اعتبار محتوایی را که به درستی رمزگشایی شده است تأیید می کند و با استفاده از نتیجه الگوریتم xxHash-32 انجام می شود. نتایج ارسال موفقیت آمیز تمام بلوک ها را به ترتیب صحیح و بدون هیچ خطایی تأیید می کند.

منابع

همچنین ببینید