aspose.info
TH

LZMA - รูปแบบไฟล์บีบอัด LZMA

อัปเดตเมื่อ

ไฟล์ LZMA คืออะไร??

ไฟล์ที่มีนามสกุล .lzma เป็นไฟล์เก็บถาวรแบบบีบอัดที่สร้างขึ้นโดยใช้วิธีการบีบอัด LZMA (Lempel-Ziv-Markov chain Algorithm) ส่วนใหญ่พบ/ใช้งานบนระบบปฏิบัติการ Unix และคล้ายกับอัลกอริธึมการบีบอัดอื่นๆ เช่น ZIP สำหรับย่อขนาดไฟล์ LZMA เป็นรูปแบบไฟล์ดั้งเดิม ซึ่งกำลังถูกแทนที่ด้วยรูปแบบ .xz ประเภท MIME ของรูปแบบ .lzma คือ `application/x-lzma’ รูปแบบไฟล์นี้ออกแบบโดย Igor Pavlov สำหรับใช้ใน LZMA SDK

รูปแบบไฟล์ LZMA

ไฟล์ LZMA ประกอบด้วยสองส่วนหลัก:

  1. ส่วนหัว
  2. ข้อมูลที่บีบอัด

ส่วนหัว LZMA

ไฟล์ LZMA มีส่วนหัว 13 ไบต์ที่ตามด้วยข้อมูลที่บีบอัด LZMA ส่วนหัวของ LZMA ประกอบด้วย:

  • คุณสมบัติ
  • ขนาดพจนานุกรม
  • ขนาดที่ไม่บีบอัด

คุณสมบัติส่วนหัวของ LZMA

เขตข้อมูลคุณสมบัติประกอบด้วยสามคุณสมบัติ ตัวย่อจะอยู่ในวงเล็บ ตามด้วยช่วงค่าของคุณสมบัติ สนามประกอบด้วย

  1. จำนวนบิตบริบทตามตัวอักษร (lc, [0, 8]);
  2. จำนวนบิตตำแหน่งตามตัวอักษร (lp, [0, 4]); และ
  3. จำนวนตำแหน่งบิต (pb, [0, 4])

ขนาดพจนานุกรม LZMA

ค่านี้ถูกจัดเก็บเป็นจำนวนเต็มเอนเดียนเล็กน้อยแบบ 32 บิตที่ไม่ได้ลงนาม โดยมีค่าตั้งแต่ 2^n และ 2^n + 2^(n-1) LZMA Utils สามารถคลายไฟล์ที่มีขนาดพจนานุกรมใดก็ได้

ขนาดที่ไม่บีบอัด

ขนาดที่ไม่บีบอัดจะถูกจัดเก็บเป็นจำนวนเต็ม endian น้อยแบบ 64 บิตที่ไม่ได้ลงนาม ค่าพิเศษ 0xFFFF_FFFF_FFFF_FFFF บ่งชี้ว่าไม่รู้จักขนาดที่ไม่บีบอัด ค่าจะแสดงด้วย End of Payload Marker (*) หากไม่ทราบขนาดที่ไม่บีบอัด

อ้างอิง

ดูเพิ่มเติม