aspose.info
TH

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

อัปเดตเมื่อ

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

ไฟล์ที่มีนามสกุล .lz4 คือไฟล์เก็บถาวรแบบบีบอัดที่สร้างขึ้นด้วยแอปพลิเคชัน/ยูทิลิตี้ที่รองรับการบีบอัด LZ4 อัลกอริทึม LZ4 มุ่งเน้นไปที่การแลกเปลี่ยนระหว่างความเร็วและอัตราส่วนการบีบอัด ไฟล์เก็บถาวร LZ4 ที่ถูกบีบอัดสามารถสร้างขึ้นได้โดยใช้ยูทิลิตีบรรทัดคำสั่ง LZ4 และสามารถคลายการบีบอัดได้โดยใช้ยูทิลิตีบรรทัดคำสั่งเดียวกัน

รูปแบบไฟล์ LZ4

รูปแบบไฟล์ LZ4 ซึ่งใช้อัลกอริธึมการบีบอัด LZ4 นั้นไม่ขึ้นอยู่กับประเภทของ CPU ระบบปฏิบัติการ ระบบไฟล์ และชุดอักขระ เหมาะสำหรับการบีบอัดไฟล์และการบีบอัดแบบสตรีมมิ่งโดยใช้อัลกอริธึม LZ4 การนำรูปแบบ LZ4 ไปใช้ครั้งแรกนั้นดำเนินการในภาษา C โดย Yann Collet ในปี 2011 และพร้อมใช้งานสำหรับการอ้างอิงของนักพัฒนาบน Github .

รูปแบบเฟรม LZ4

โครงสร้างทั่วไปของรูปแบบไฟล์ LZ4 แสดงไว้ด้านล่าง

MagicNbฉ. คำอธิบายบล็อก(…)EndMarkค. เช็คซัม
4 ไบต์3-15 ไบต์4 ไบต์0-4 ไบต์

เลขมหัศจรรย์

4 ไบต์ รูปแบบลิตเติ้ลเอนเดียน ค่า : 0x184D2204

คำอธิบายเฟรม

คำอธิบายเฟรมประกอบด้วย 3 t0 15 ไบต์และเป็นส่วนที่สำคัญที่สุดของข้อมูลจำเพาะ เมื่อรวมกันแล้ว ฟิลด์ Magic_Number และ Frame_Descriptor จะเรียกว่า LZ4 Frame Header และขนาดของฟิลด์จะแตกต่างกันไประหว่าง 7 ถึง 19 ไบต์ ดังที่แสดงด้านล่าง

FLGบีดี(ขนาดเนื้อหา)(รหัสพจนานุกรม)HC
1 ไบต์1 ไบต์0 - 8 ไบต์0 - 4 ไบต์1 ไบต์

บล็อกข้อมูล

แต่ละบล็อกข้อมูลเป็นไปตามลำดับต่อไปนี้

ขนาดบล็อกข้อมูล(บล็อกเช็คซัม)
4 ไบต์0 - 4 ไบต์

EndMark

การไหลของบล็อกจะสิ้นสุดลงเมื่อบล็อกข้อมูลสุดท้ายตามด้วยค่า 32 บิต 0x00000000

การตรวจสอบเนื้อหา

Content_Checksum ตรวจสอบความถูกต้องของเนื้อหาที่ถูกถอดรหัสอย่างถูกต้อง และดำเนินการโดยใช้ผลลัพธ์ของอัลกอริทึม xxHash-32 ตรวจสอบผลลัพธ์ของการส่งบล็อคทั้งหมดสำเร็จตามลำดับที่ถูกต้องและไม่มีข้อผิดพลาดใดๆ

อ้างอิง

ดูเพิ่มเติม