บทความกล่าวถึงไฟล์ zip 9 ชั้นดังนั้นจึงไม่ใช่กรณีง่ายๆที่จะต้องใส่เลขศูนย์ ทำไม 9 ทำไมถึง 10 ไฟล์ในแต่ละไฟล์?
ก่อนอื่นบทความ Wikipedia ในปัจจุบันกล่าวว่า 5 ชั้นมี 16 ไฟล์แต่ละไฟล์ ไม่แน่ใจว่าความแตกต่างนั้นมาจากไหน แต่ไม่เกี่ยวข้องทั้งหมด คำถามที่แท้จริงคือเหตุใดจึงใช้การซ้อนกันตั้งแต่แรก
DEFLATE ซึ่งเป็นวิธีการบีบอัดที่รองรับโดยทั่วไปเพียงวิธีเดียวสำหรับไฟล์ zip * มีอัตราส่วนการบีบอัดสูงสุดที่ 1032 ซึ่งสามารถทำได้โดยไม่มีอาการสำหรับลำดับการทำซ้ำใด ๆ ที่มีขนาด 1-3 ไบต์ ไม่ว่าคุณจะทำอะไรกับไฟล์ zip ตราบใดที่ใช้เพียง DEFLATE ขนาดที่คลายออกจะมีขนาดไม่เกิน 1032 เท่าของขนาดไฟล์ zip เดิม
ดังนั้นจึงจำเป็นต้องใช้ไฟล์ zip ที่ซ้อนกันเพื่อให้ได้อัตราส่วนการบีบอัดที่สูงมาก หากคุณมีการบีบอัด 2 ชั้นอัตราส่วนสูงสุดจะกลายเป็น 1032 ^ 2 = 1065024 สำหรับ 3 คือ 1099104768 เป็นต้น สำหรับเลเยอร์ 5 ชั้นที่ใช้ใน 42.zip อัตราส่วนการบีบอัดสูงสุดตามทฤษฎีคือ 1170572956434432 อย่างที่คุณเห็น 42.zip ที่แท้จริงอยู่ไกลจากระดับนั้น ส่วนหนึ่งคือค่าใช้จ่ายของรูปแบบ zip และส่วนหนึ่งคือพวกเขาไม่สนใจ
ถ้าจะเดาก็คงต้องบอกว่า 42.zip นั้นเกิดขึ้นจากการสร้างไฟล์ว่างขนาดใหญ่จากนั้นก็ทำการบีบอัดและคัดลอกซ้ำ ๆ ไม่มีความพยายามที่จะเพิ่มขีด จำกัด ของรูปแบบหรือเพิ่มการบีบอัดหรือสิ่งใด ๆ - พวกเขาเลือก 16 สำเนาต่อเลเยอร์โดยพลการ ประเด็นคือการสร้างน้ำหนักบรรทุกขนาดใหญ่โดยไม่ต้องใช้ความพยายามมากนัก
หมายเหตุ: รูปแบบการบีบอัดอื่น ๆ เช่น bzip2 มีอัตราส่วนการบีบอัดสูงสุดที่มากและมาก อย่างไรก็ตามโปรแกรมแยกวิเคราะห์ zip ส่วนใหญ่ไม่ยอมรับ
ป.ล. เป็นไปได้ที่จะสร้างไฟล์ zip ซึ่งจะเปิดเครื่องรูดเป็นสำเนาของตัวมันเอง (quine) คุณยังสามารถสร้างไฟล์ที่คลายซิปเป็นสำเนาหลาย ๆ ชุดได้ ดังนั้นหากคุณเปิดเครื่องรูดไฟล์ซ้ำ ๆ ตลอดไปขนาดสูงสุดที่เป็นไปได้จะไม่สิ้นสุด ข้อ จำกัด เพียงอย่างเดียวคือสามารถเพิ่มได้สูงสุด 1032 ในแต่ละการวนซ้ำ
PPS ตัวเลข 1032 ถือว่าข้อมูลไฟล์ใน zip ไม่ปะติดปะต่อกัน รูปแบบไฟล์ zip อย่างหนึ่งคือมีไดเร็กทอรีกลางซึ่งแสดงรายการไฟล์ในไฟล์เก็บถาวรและออฟเซ็ตกับข้อมูลไฟล์ หากคุณสร้างไฟล์หลายรายการที่ชี้ไปยังข้อมูลเดียวกันคุณจะได้อัตราส่วนการบีบอัดที่สูงขึ้นมากแม้ว่าจะไม่มีการซ้อนกันก็ตาม แต่ไฟล์ zip ดังกล่าวมักจะถูกปฏิเสธโดยโปรแกรมแยกวิเคราะห์