จีซิป

จากวิกิพีเดีย สารานุกรมเสรี
(เปลี่ยนทางจาก Gzip)
gzip
นามสกุลไฟล์: .gz, .tgz, .tar.gz
ชนิด MIME: application/x-gzip
พัฒนาโดย: ฌอน-ลูป เกลลี และ มาร์ค แอดเลอร์
รูปแบบ: การบีบอัดข้อมูล

จีซิป (อังกฤษ: gzip) เป็นโปรแกรมบีบอัดข้อมูล เขียนโดย ฌอน-ลูป เกลลี (Jean-loup Gailly) และ มาร์ค แอดเลอร์ (Mark Adler) เวอร์ชันแรก 0.1 เผยแพร่เมื่อ 31 ตุลาคม พ.ศ. 2535 เวอร์ชัน 1.0 ออกตามมาเมื่อกุมภาพันธ์ พ.ศ. 2536

รูปแบบไฟล์[แก้]

gzip อาศัยขั้นตอนวิธีชื่อ DEFLATE ซึ่งผสมผลาน LZ77 กับรหัสฮัฟแมน DEFLATE ออกแบบมาแทนที่ LZW และขั้นตอนวิธีบีบอัดข้อมูลอื่นที่มีปัญหาเรื่องสิทธิบัตร ทำให้ใช้โปรแกรมเช่น compress ได้จำกัด

คำว่า gzip ยังนิยมเรียกรูปแบบไฟล์ที่สร้างโดยโปรแกรม gzip ซึ่งประกอบด้วย

  • ส่วนหัวไฟล์ หรือ เฮดเดอร์ ขนาด 10 ไบต์ มีสัญลักษณ์ของไฟล์ หมายเลขเวอร์ชัน วันและเวลา
  • เฮดเดอร์เพิ่มเติมเช่นชื่อไฟล์เดิม ส่วนนี้อาจไม่มีก็ได้
  • ข้อมูลไฟล์ที่บีบโดยขั้นตอนวิธี DEFLATE
  • ส่วนท้ายไฟล์ขนาด 8 ไบต์ ประกอบด้วยค่า CRC-32 และความยาวของข้อมูลเดิมก่อนบีบอัด

ถึงแม้ว่าไฟล์รูปแบบนี้สามารถเก็บไฟล์หลายไฟล์ต่อ ๆ กัน gzip มักถูกใช้บีบเพียงไฟล์เดียว โดยไฟล์ต่าง ๆ จะถูกรวมเข้าด้วยกันก่อนโดยใช้โปรแกรม tar แล้วค่อยบีบอัดไฟล์ที่ได้ด้วย gzip ไฟล์ที่ได้มักใช้นามสกุล .tar.gz หรือ .tgz และนิยมเรียกว่า "compressed tarball"

gzip เป็นไฟล์คนละชนิดกับ ZIP ซึ่งใช้ขั้นตอนวิธี DEFLATE เช่นเดียวกัน ZIP สามารถเก็บไฟล์หลายไฟล์ในตัวมันเองโดยไม่ต้องพึ่งโปรแกรมอื่นแต่ก็ไม่ได้ขนาดเล็กเท่าการบีบโดยใช้ tar และ gzip เนื่องจาก ZIP บีบข้อมูลแต่ละไฟล์แยกจากกัน แต่ gzip สามารถใช้ข้อมูลที่ซ้ำซ้อนระหว่างไฟล์มาเป็นประโยชน์ในการบีบ

ขั้นตอนวิธีใน gzip ยังออกมาในรูปของไลบรารีชื่อ zlib ซึ่งสนับสนุนรูปแบบไฟล์ gzip และรูปแบบเฉพาะของมันเองที่ชื่อ zlib stream รูปแบบ zlib stream, DEFLATE และ gzip กำหนดโดยมาตรฐาน RFC 1950, RFC 1951 และ RFC 1952 ตามลำดับ

เนื่องจากส่วนหัวไฟล์ gzip มีวันที่และเวลาที่สร้าง ในการเปรียบเทียบข้อมูลในไฟล์สองไฟล์ว่าเหมือนกันหรือไม่จำเป็นต้องใช้โปรแกรม zcmp หรือ zdiff ถึงจะได้ผลที่ถูกต้อง

โปรแกรมสำหรับคลายข้อมูลที่บีบโดย gzip เรียกว่า gunzip

การใช้งานอื่น[แก้]

ในโพรโทคอล HTTP รุ่น 1.1 ยอมให้เว็บเบราว์เซอร์ดึงข้อมูลจากเซิร์ฟเวอร์ในรูปไฟล์บีบอัด ในมาตรฐานระบุไว้สองชนิด คือ รูปแบบ gzip (มีส่วนหัวและส่วนท้ายไฟล์ด้วย) และ deflate (ไม่มีส่วนหัวและท้าย)

โปรแกรมอื่น[แก้]

ตั้งแต่ช่วงประมาณปี 2540 เป็นต้นมา ผู้คนหันมาใช้โปรแกรม bzip2 แทนที่ gzip มากขึ้น โปรแกรม bzip2 ใช้ขั้นตอนวิธี block-sorting สามารถบีบไฟล์ได้เล็กกว่าแต่ต้องใช้หน่วยความจำและการประมวลผลมากขึ้นถึง 4 เท่า ไฟล์ที่ผ่านโปรแกรม tar และ bzip2 มักมีนามสกุล .tar.bz2

AdvanceCOMP เป็นโปรแกรมอีกตัวที่ใช้ขั้นตอนวิธี DEFLATE และสร้างไฟล์รูปแบบ gzip แต่สามารถบีบได้มากกว่าโปรแกรม gzip เดิม

อ้างอิง[แก้]

แหล่งข้อมูลอื่น[แก้]