ไฟล์เก็บถาวร GZIP (.gz)

IETF มาตรฐาน

Gzip (GZ) คือยูทิลิตี้การบีบอัดและรูปแบบไฟล์มาตรฐานของ GNU ซึ่งใช้งานอย่างแพร่หลายในระบบปฏิบัติการ Unix และเซิร์ฟเวอร์เว็บ HTTP สำหรับการบีบอัดไฟล์และทรัพยากรเว็บอย่างรวดเร็ว

แปลง TAR เป็น GZ

ตัวแปลงจาก TAR เป็น GZ ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบและดู Metadata

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ GZ โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
การรับประกันความเป็นส่วนตัวแบบไม่มีการส่งผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ GZ โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

1F 8B 08

การแสดงผลรูปแบบ ASCII: ..\x08

มาตรฐาน: IETF RFC 1952

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer
การบีบอัดDEFLATE algorithm (LZ77 sliding window + Huffman coding)
การจัดลำดับไบต์ (Byte Endianness)Little-Endian header and footer integers
พื้นที่สีN/A (Archive Container)
ช่องสัญญาณและโครงสร้างSingle-file compressed byte stream
ขนาดสูงสุดUncompressed size recorded modulo 2^32 (supports unbounded stream lengths)
ความโปร่งใส100% bit-exact lossless data preservation
การสตรีมและแบบโปรเกรสซีฟSequential single-pass streaming playback over pipes and HTTP networks

ตารางเปรียบเทียบทางเทคนิค: GZ กับคู่แข่ง

คุณลักษณะทางเทคนิคGZ (ปัจจุบัน)BZ2BROTLIZSTD
ความเร็วในการคลายการบีบอัดเร็ว (~300 MB/s)ช้า (~40 MB/s)เร็วมาก (~400 MB/s)เร็วสุดขีด (>1.5 GB/s)
การยอมรับบนเว็บสากลเบราว์เซอร์และเซิร์ฟเวอร์ทั้งหมด 100%ไม่รองรับบนเว็บเบราว์เซอร์รองรับผ่าน HTTPS ในเบราว์เซอร์ทั้งหมดการรองรับเบราว์เซอร์และเซิร์ฟเวอร์ที่กำลังเติบโต
การแพ็กเกจหลายไฟล์ต้องใช้คอนเทนเนอร์ TAR (.tar.gz)ต้องใช้คอนเทนเนอร์ TAR (.tar.bz2)สตรีมดิบหรือคอนเทนเนอร์กำหนดเองต้องใช้คอนเทนเนอร์ TAR (.tar.zst)
การตรวจสอบค่าความถูกต้องCRC 32 บิต (CRC-32)CRC 32 บิตต่อบล็อกไม่มีในสตรีมxxHash 64 บิต

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ข้อผิดพลาดในการแตกไฟล์: 'gzip: stdin: unexpected end of file'

สาเหตุหลัก: การสิ้นสุดการถ่ายโอนไฟล์ก่อนกำหนดทำให้ตัดสตรีม DEFLATE หรือส่วนท้าย CRC32 ขนาด 8 ไบต์

การกู้คืน: ดึงข้อมูลบางส่วนโดยใช้ 'gzip -d --keep broken.gz' หรือ File2File Gzip Extractor

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ตัววิเคราะห์ Gzip ประมวลผลส่วนหัวที่ผู้ใช้ควบคุมและบิตสตรีม DEFLATE ซึ่งต้องได้รับการปกป้องจากระเบิดการคลายการบีบอัด

เวกเตอร์การโจมตีที่ทราบ

  • ระเบิดการคลายการบีบอัด (zip bomb) ที่ขยายข้อมูล Gzip ขนาดเมกะไบต์ให้กลายเป็นพื้นที่ดิสก์หลายร้อยจิกะไบต์
  • บัฟเฟอร์ล้นเมื่ออ่านสตริงชื่อไฟล์ต้นฉบับที่เป็นตัวเลือกจากส่วนหัว
  • จำนวนเต็มล้นระหว่างการเปรียบเทียบการตรวจสอบ CRC 32 บิต

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

ประวัติความเป็นมาและเหตุการณ์สำคัญ

1996IETF กำหนดข้อกำหนดรูปแบบไฟล์ Gzip เป็น RFC 1952 อย่างเป็นทางการ
1993ถูกนำมาใช้โดยโครงการ GNU เพื่อแทนที่ยูทิลิตี้ 'compress' แบบกรรมสิทธิ์ของ Unix (ไฟล์ .Z)
1992Jean-loup Gailly และ Mark Adler สร้าง Gzip เป็นเครื่องมือบีบอัดที่ปลอดสิทธิบัตรสำหรับขบวนการซอฟต์แวร์เสรี

ข้อได้เปรียบและจุดเด่นสำคัญ

  • เกณฑ์มาตรฐานสากลสำหรับการบีบอัดเว็บ HTTP ('Content-Encoding: gzip') ที่รองรับโดยไคลเอนต์เว็บ 100%
  • รักษาประทับเวลาการแก้ไขไฟล์ต้นฉบับและชื่อไฟล์ต้นฉบับเสริมภายในส่วนหัว 10 ไบต์
  • การใช้หน่วยประมวลผล (CPU) น้อยระหว่างการคลายการบีบอัดทำงานได้อย่างราบรื่นบนอุปกรณ์มือถือและเราเตอร์ที่ใช้พลังงานต่ำ

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • การบีบอัดไฟล์เดี่ยวเท่านั้น: ไม่สามารถบีบอัดไฟล์หรือไดเรกทอรีหลายไฟล์ได้โดยไม่ต้องรวมเข้ากับคอนเทนเนอร์ TAR ก่อน
  • อัตราส่วนการบีบอัดต่ำกว่าอัลกอริทึมสมัยใหม่ เช่น Brotli และ Zstandard บนข้อความเว็บสมัยใหม่
  • ฟิลด์ขนาดที่ยังไม่ได้บีบอัดส่วนท้ายคือ 32 บิต modulo 2^32 ทำให้เกิดบั๊กการแสดงผลแบบวนซ้ำบนไฟล์ที่มีขนาดใหญ่กว่า 4 GB

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • ไบต์วิเศษ 0x1F 0x8B ถูกเลือกเพราะ 0x1F ในอ历史ศาสตร์คือไบต์แรกของไฟล์ 'compress' บน Unix ในขณะที่ 0x8B ระบุ Gzip
  • เว็บไซต์มากกว่า 80% บนอินเทอร์เน็ตใช้การบีบอัด Gzip เพื่อส่งหน้าเว็บไปยังเบราว์เซอร์
  • Jean-loup Gailly เขียนโค้ดการบีบอัดในขณะที่ Mark Adler เขียนโค้ดการคลายการบีบอัด (inflate); ทั้งคู่ได้รับรางวัล ACM Software System Award

คำถามทางเทคนิคที่พบบ่อย

ทำไมฉันจึงไม่สามารถบีบอัดโฟลเดอร์ด้วย Gzip ได้?

Gzip ถูกออกแบบมาเพื่อบีบอัดสตรีมไบต์เดี่ยวๆ การจะบีบอัดโฟลเดอร์ ระบบยูนิกซ์ (Unix) จะรวมโฟลเดอร์เป็นไฟล์ .tar เดียวเสียก่อน แล้วจึงบีบอัดด้วย Gzip เพื่อสร้างเป็นไฟล์ .tar.gz

ความแตกต่างระหว่าง .gz และ .zip คืออะไร?

.zip เป็นรูปแบบไฟล์จัดเก็บ (archive format) ที่รวบรวมไฟล์หลายไฟล์เข้าด้วยกันพร้อมดัชนีไดเรกทอรี ส่วน .gz จะบีบอัดไฟล์เดี่ยวๆ เท่านั้น และมักใช้คู่กับ tar บนระบบยูนิกซ์ (Unix)

ฉันจะคลายไฟล์ .gz บน Windows หรือ Mac ได้อย่างไร?

ใช้ File2File.app เพื่อคลายไฟล์ .gz ทันทีในเว็บเบราว์เซอร์ของคุณโดยไม่ต้องติดตั้งซอฟต์แวร์ใดๆ