تنسيق ملف LZMA

مراجعة

LZMA ، مختصر لـ Lempel-Ziv-Markov Chain Algorithm ، هو تنسيق ضغط قوي مصمم لتقليل حجم الملفات مع الحفاظ على معدلات الضغط العالية. تم إنشاؤه من قبل إيغور بافلوف في عام 2007 كجزء من SDK Lzma ، أصبح هذا النموذج منذ ذلك الحين أداة أساسية للمطورين والمستخدمين الفنيين الذين يرغبون في تحسين مساحة التخزين أو تقليل استخدام عرض النطاق.

ملامح رئيسية

  • ارتفاع معدل الضغط: يحقق ضغطًا أعلى مقارنة بأشكال أخرى مثل ZIP.
  • مواصفات قابلة للتخصيص: يسمح بتصحيح حجم القاموس وغيرها من الإعدادات لتحقيق أداء مثالي.
  • التوافق عبر المنصة: مدعومة على نطاق واسع في أنظمة التشغيل المختلفة، بما في ذلك بيئات Unix.
  • الإزالة الفعالة: أسرع سرعات إزالتها تجعلها مثالية للتطبيقات في الوقت الحقيقي.
  • Legacy Support: الأساسية للعمل مع البرمجيات القديمة أو أرشيف البيانات التي تستخدم ضغط LZMA.

المواصفات التقنية

تشكيل الهيكل

تنسيق ملف LZMA هو شكل ثنائي تم تصميمه لتخزين البيانات المضغوطة بكفاءة.يتكون من جزأين رئيسيين: العنوان وقطع بيانات الضغط.

المكونات الأساسية

الرأس

  • الخصائص: حقل بيت واحد يحدد ثلاثة خصائصه:

  • lc (بيتات السياق الحرفي): [0, 8]

  • lp (بيتات الموقف الحرفي): [0, 4]

  • pb (بيتات الموقف): [0, 4]

  • حجم القاموس: كاملة صغيرة 32 بت غير مكتوبة تمثل حجم قاموس.تتراوح القيم من (2^n) إلى (2 ^{n+1}).

  • حجم غير مضغوط: إدراج صغير 64 بت يشير إلى حجم الملف غير الضغط الأصلي.إذا لم يكن معروفًا، فإنه يمثل قيمة خاصة (0xFFFF_FFF_ FFFF) أو علامة نهاية الخصم.

بيانات مضغوطة

وتتبع البيانات المضغوطة العنوان وتحتوي على المحتوى الفعلي المصنوع باستخدام خوارزميات الضغط المتقدمة لـ LZMA.

المعايير والتوافق

  • ** نوع MIME** : application/x-lzma
  • دعم الإصدار: تم إجراء تعديلات صغيرة على النموذج لكنه لا يزال متوافقًا بشكل كبير مع الخلف.
  • دعم المنصات: مدعومة على نطاق واسع على أنظمة Unix، مع مستويات مختلفة من الدعم في جميع منصات أخرى وأنظمة التشغيل.

التاريخ والتطور

تم إدخال LZMA في عام 2007 كجزء من SDK من قبل إيغور بافلوف. انها سرعان ما اكتسبت شعبية بسبب كفاءة الضغط العالية والمرونة. مع مرور الوقت، تم اعتماده في العديد من التطبيقات ولكن الآن يتم إطلاقها لصالح تنسيقات جديدة مثل .xz لأداء أفضل وميزات إضافية.

العمل مع LZMA الملفات

فتح ملفات LZMA

لفتح ملفات LZMA، يمكنك استخدام مجموعة متنوعة من أدوات البرمجيات اعتمادا على نظام التشغيل الخاص بك:

  • Unix/Linux: أدوات مثل 7z, unlzma, أو tar (مع الإضافات المناسبة) يتم استخدامها بشكل عام.
  • Windows: تطبيقات مثل 7-Zip أو WinRAR تدعم ضغط LZMA وتخفيف الضغط.

تحويل ملفات LZMA

تحويل ملفات LZMA إلى تنسيقات أخرى هو بسيط مع الأدوات التي تدعم أنواع متعددة من الضغط. الشريط المستهدف المشترك تشمل ZIP، TAR، و XZ. الطريقة الدقيقة تعتمد على الأداة التي تستخدمها؛ على سبيل المثال، 7-Zip يمكن التحويل بين هذه النماذج بسهولة.

إنشاء ملفات LZMA

يتم إنشاء ملفات LZMA عادة باستخدام أدوات خط الأوامر أو دمجها في التطبيقات من خلال المكتبات مثل liblzmaعلى سبيل المثال، فإن xz المستخدم في أنظمة Unix يستخدم عادة لإنشاء وإدارة الملفات المضغوطة LZMA.

حالات الاستخدام المشترك

  • تخزين البيانات: توفير مجموعات بيانات كبيرة بكفاءة على القرص.
  • توزيع البرمجيات: توزيع حزم البرامج مع حجم الملفات المنخفض.
  • ** حلول النسخ الاحتياطي**: إنشاء نسخ احتياطية صغيرة سهلة التخزين أو التحويل.
  • تحويلات الشبكة: تقليل استخدام عرض النطاق العريض أثناء تحويل الملفات عبر شبكة.

المزايا والقيود

المزايا:

  • ارتفاع معدل الضغط: يوفر LZMA ضغطًا أعلى مقارنة بالعديد من الأشكال الأخرى.
  • مواصفات قابلة للتخصيص: يسمح بتنظيف إعدادات الضغط بشكل جيد لتحسين الأداء.
  • التوافق عبر المنصة: مدعومة على نطاق واسع في أنظمة التشغيل المختلفة والبيئات.

الحد الأدنى:

  • Legacy Format: يتم استبدالها بأشكال أحدث وأكثر كفاءة مثل .xz.
  • مساعدة أدوات محدودة: قد يفتقر بعض المنصات إلى الدعم الأصلي أو تتطلب تثبيت البرمجيات الإضافية.

الموارد التنموية

يتم دعم البرمجة مع ملفات LZMA من خلال مختلف APIs والمكتبات.سيتم إضافة أمثلة على الرمز ودليل التنفيذ قريبا.

الأسئلة المتكررة

  • كيف يمكنني فتح ملف LZMA على Windows؟

  • يمكنك استخدام أدوات مثل 7-Zip لفتح واستخراج المحتوى من ملف LZMA.

  • ما الفرق بين تنسيقات LZMA و XZ؟

  • في حين أن كلاهما يعتمد على نفس خوارزمية الضغط ، تقدم XZ أداءً أفضل وميزات إضافية مقارنة بـ LZMA.

  • هل يمكنني تحويل ملف LZMA إلى تنسيق ZIP؟

  • نعم، أدوات مثل 7-Zip يمكن بسهولة تحويل ملفات LZMA إلى ZIP أو غيرها من التنسيقات المدعومة.

مرجعية

 عربي