การซิปไฟล์สามารถแตกไฟล์ได้หรือไม่


85

ฉันขอให้บางคนส่งpsdไฟล์ซิปมาให้ฉัน

พวกเขาปฏิเสธโดยอ้างว่าการซิปไฟล์สามารถทำลายแบบอักษรได้

ฉันคิดว่าการซิปไฟล์นั้นสามารถย้อนกลับได้อย่างสมบูรณ์แบบดังนั้นจึงเป็นที่นิยมใช้กันทั่วไป ฉันคิดว่าคนอื่นไม่ถูกต้อง

มีความจริงเกี่ยวกับการซิปทำลายเนื้อหาของไฟล์หรือไม่


51
บางทีคนอื่นอาจสับสนการซิปไฟล์ (lossless) กับการบีบอัด jpeg (lossy) ซึ่งทำให้การทดสอบดูน่าเกลียด
Matt H

ฉันรู้ว่าฉันเคยมีปัญหาเข้ากันได้สำหรับไฟล์ซิปเพราะรูปแบบไฟล์ที่ถูกนำมาใช้บนแพลตฟอร์มทั้งหมด ...
jokoon

1
ฉันเคยพบกรณี 'พยาธิวิทยา' บางอย่างที่ทั้งสองสิ่งอำนวยความสะดวกในตัวของ Winrar และ WinXP แตกไฟล์ (หมื่นไฟล์ใน zipfile เดียว) นี่คือ 4-5 ปีที่แล้วและทางออกเดียวที่ฉันสามารถหาได้ในเวลานั้นคือการใช้ 7-zip อย่างที่ฉันจำได้แม้กระทั่ง 7-Zip ก็ไม่สามารถทำการคลายซิปไฟล์ที่สร้างโดยกิจวัตรอื่น ๆได้สำเร็จแสดงว่าข้อผิดพลาดเกิดขึ้นในการซิปไม่ใช่การคลายซิป เห็นได้ชัดว่าฉันเลือกที่จะใช้ 7-zip สำหรับทั้งสองฝ่ายในระบบการผลิตต่อไป
FumbleFingers

1
@jokoon: ผมไม่แน่ใจว่ามันเป็นเรื่องที่ถูกต้องที่จะพูดถึงรูปแบบไฟล์ ... ใช้บนแพลตฟอร์มทั้งหมด มีรูปแบบภายในที่แตกต่างกันเล็กน้อยที่ใช้ในไฟล์ zip และเป็นไปได้เสมอที่ไฟล์เก็บถาวรสามารถสร้างขึ้นได้โดยชุดคำสั่งการบรรจุหนึ่งชุดโดยใช้รูปแบบที่ไม่สมบูรณ์สนับสนุนโดยชุดคำสั่งอื่น ๆ ที่คุณใช้เมื่อเปิดออก
FumbleFingers

@Fumble; แต่ถึงกระนั้นผู้จัดเก็บที่ดีควรจับการเปลี่ยนแปลงของแฮชและรายงานการดำเนินการว่าเป็นความล้มเหลว - อย่าปล่อยให้ไฟล์ที่ใช้งานไม่ได้อยู่
Phoshi

คำตอบ:


133

ไม่การซิปไฟล์ไม่สามารถทำลายได้ หากไฟล์ซิปของคุณไม่เสียหายมันจะทำซ้ำไฟล์ที่เหมือนกันเมื่อคลายซิป

ในกรณีนี้ความแตกต่างระหว่างแบบอักษรที่ติดตั้งบนระบบที่แตกต่างกันสองระบบอาจทำให้เกิดปัญหา แต่ไม่เกี่ยวข้องกับกระบวนการ zip / unzip อย่างสมบูรณ์


4
นั่นคือสิ่งที่ฉันสงสัย ขอบคุณสำหรับคำตอบ.
alex

34
นอกจากนี้รูปแบบซิปบางรูปแบบรองรับความซ้ำซ้อนซึ่งหมายถึงการจัดเก็บในรูปแบบซิปสามารถปลอดภัยกว่าการจัดเก็บไฟล์ธรรมดา
BlueRaja - Danny Pflughoeft

คุณไม่ควรบอกว่าไม่เร็วขนาดนี้มีการซิปไฟล์ / การขยายไฟล์ออกเป็นจำนวนมากการนับ OS ที่มีอยู่ทั้งหมดและสิ่งอื่น ๆ ที่สามารถสร้างไฟล์ zip ได้ฉันไม่แปลกใจเลยที่การใช้งานบางอย่างไม่สนใจคนอื่น .
jokoon

@jokoon แล้วไฟล์เหล่านั้นจะได้รับความเสียหายซึ่งเขาไม่รวมอย่างชัดเจน
MBX

3
-1 ในทางทฤษฎีสิ่งนี้เป็นเรื่องจริง แต่ในทางปฏิบัติมีปัญหาเกี่ยวกับแบบอักษร Mac ที่ถูกซิปบนพีซีเป็น 0 ไบต์ นี่เป็นเพราะมีการสร้างตัวแยกทรัพยากร ลองด้วยตัวคุณเองและดู
Django Reinhardt

80

ในการใช้งานทั่วไป zip จะไม่มีการสูญเสีย (สมมติว่าเป็นการใช้งานแบบไม่มีข้อบกพร่อง) แต่มีสถานการณ์หนึ่งที่สามารถนำไปใช้กับการสูญหายของข้อมูล: NTFS Alternate Data Streams คุณสมบัติที่ใช้เพียงเล็กน้อยนี้อนุญาตให้ไฟล์เดียวมีเนื้อหาที่เป็นอิสระหลายชุด รหัสส่วนใหญ่จะเห็นสตรีมที่ไม่มีชื่อเท่านั้น

ดังนั้น; หากโปรแกรมตัดสินใจที่จะเก็บข้อมูลในสตรีมข้อมูลสำรอง NTFS โปรแกรมไคลเอนต์ zip ของคุณจะไม่เห็นส่วนนั้น (จำเป็นต้องขออย่างชัดเจนและRAR เป็นโปรแกรมเดียวที่ทำสิ่งนี้ในปัจจุบัน )

แต่เพื่อเน้น: สิ่งนี้ใช้น้อยมากและไม่ปกติกับสิ่งต่าง ๆ เช่น PSD ฉันสงสัยว่าเพื่อน / ผู้ร่วมงานของคุณผิดปกติ


11
ว้าวนี่เป็นความรู้ใหม่ทั้งหมดสำหรับฉัน
kizzx2

5
ใหม่สำหรับฉันและแปลกประหลาด ไฟล์เมื่อใดที่ไม่ใช่ไฟล์ เมื่อเนื้อหากลายพันธุ์ตามความประสงค์ ฉันเคยได้ยินเกี่ยวกับความผิดพลาดที่เลวร้ายกว่า แต่ไม่มากนัก
msw

7
@msw - พวกเขาไม่กลายพันธุ์ตามความประสงค์ อย่างง่าย - สามารถมีข้อมูลมากกว่าหนึ่งก้อนที่เชื่อมโยงกับระเบียนไฟล์เดียว เกือบทุกครั้งจะมีเพียงหนึ่งเดียว (มันไม่ค่อยใช้) แต่ ...
Marc Gravell

4
กลับไปที่! เทคนิคเกินไป! (เพียงแค่ล้อเล่นของหลักสูตร;)
Byron Whitlock

3
และในส่วนอื่น ๆ ของสเปกตรัมของเรามีคนบ่นเกี่ยวกับเมตาดาต้าเฉพาะระบบถูกรวมกวาดต้อนในคลัง
Daniel Beck

32

มีบางสถานการณ์ที่แบบอักษร Mac อาจไม่เหมือนกันหากมีการบีบอัดและคลายซิปแล้ว สิ่งนี้อาจไม่ทำลาย แต่ตรงกันข้ามกับบางคำสั่งข้างต้นกระบวนการอาจไม่ให้ไฟล์เหมือนกัน

สถานการณ์จะกล่าวถึงที่นี่:

http://xahlee.org/UnixResource_dir/macosx.html

http://ask.metafilter.com/59789/How-to-email-my-font

แต่ในระยะสั้น:

  1. หากเป็นฟอนต์ที่เก่ากว่ามากที่มีส้อมทรัพยากรและผู้ใช้มี Mac OS X เวอร์ชั่นเก่ากว่าปกติคือ 10.4 หรือเก่ากว่า แบบอักษรดั้งเดิมเช่นนี้ใช้งานได้กับ OS X ถึงแม้ว่ามันจะเป็นแบบดั้งเดิมสำหรับระบบปฏิบัติการ 9 และรุ่นก่อนหน้าของระบบปฏิบัติการ Macintosh เป็นไปได้ทั้งหมด (และจากประสบการณ์ของฉัน) คนบางคนยังคงใช้ห้องสมุดตัวอักษรที่พวกเขาสร้างเมื่อ 20 ปีที่แล้ว โดยทั่วไปแล้วศิลปินและผู้กำกับศิลป์ ตัวอย่างเช่นฉันมีแบบอักษรสองสามตัวที่มีวันที่สร้างปี 1993 และหลายร้อยกับวันที่สร้างของปี 1998 ส่วนใหญ่ที่มีทรัพยากรส้อม แน่นอนฉันควรแปลงสิ่งเหล่านี้เป็นรูปแบบที่ทันสมัยกว่าหรือหยุดใช้งาน แต่ลองดูกัน: เมื่อคุณซื้อ Adobe Font Library คุณไม่ต้องการซื้ออีกเลย ในปีที่ฉันทำงานกับผู้กำกับศิลป์ในการโฆษณา

  2. ข้อมูลเมตาบางส่วนจะถูกปล้นในระบบปฏิบัติการบางรุ่น ข้อมูลเมตาอาจเป็นสิ่งที่เพิ่มลงในเขตข้อมูลของไฟล์ สิ่งนี้จะไม่ทำให้ไฟล์แตก แต่อีกครั้งและ zip zip-unzip จะไม่สร้างไฟล์เหมือนกัน

PS: ฉันสมมติว่าที่นี่ถ้ามีการบีบอัดไฟล์ PSD สำหรับการส่งไปยังบุคคลอื่นนั้นไม่ได้ถูกทำให้แบนและตัวอักษรไม่ได้ถูกแปลงเป็นเค้าโครงซึ่งหมายความว่าจะส่งไฟล์ตัวอักษรด้วย PSD เพื่อให้บุคคลที่สิ้นสุดการรับสามารถทำการเปลี่ยนแปลงไฟล์ของตนเองได้ นี่คือการปฏิบัติทั่วไป


2
+1 - ฉันหวังว่าฉันจะให้คะแนนมากพอที่จะผลักดันมันไปที่ด้านบนของสแต็ก Mac OS มีทั้งฟอนต์ Type 1 และ TrueType ซึ่งข้อมูลฟอนต์ถูกเก็บไว้ในตัวแยกทรัพยากร ในขณะที่เครื่องมือ zip / unzip ดั้งเดิมในระบบปฏิบัติการสามารถจัดการกับสถานการณ์นี้ได้อย่างสง่างามไม่ใช่เครื่องมือทั้งหมด (โดยเฉพาะเครื่องมือบรรทัดคำสั่งที่ส่งไปยัง OS X) จะ สิ่งที่แย่กว่านั้นคือไม่บีบอัดแบบอักษรและพยายามส่งทางอีเมลหรือ FTP จะทำให้แตก!
afrazier

1
แต่ปัญหาที่นี่ดูเหมือนจะเป็นวิธีที่คุณบีบอัดพวกเขาไม่ว่าคุณจะสามารถ ดูเหมือนว่าต้องการโปรแกรมที่เข้าใจการใช้ทรัพยากรและคุณต้องรู้วิธีใช้งาน ฉันอ่านถูกไหม
uSlackr

@ uSlackr ถูกต้อง แต่ปัญหายังคงอยู่เมื่อสิ้นสุดการรับ หากไฟล์เก็บถาวรถูกย้าย Windows คุณอาจจะได้รับไฟล์ฟอนต์ไร้ประโยชน์เนื่องจากแม้ว่า Windows (โดยเฉพาะ NTFS) จะอนุญาตให้มีสตรีมข้อมูลหลายไฟล์ในไฟล์ แต่ฟอนต์ใน Windows นั้นไม่ทำงาน อย่างไรก็ตามไฟล์ PSD นั้นน่าจะเป็นไฟล์พกพาระหว่าง Mac และ Windows
RBerteig

+1 - ตัวอย่างบันทึกฟอนต์ Mac ของคุณบนไดรฟ์เครือข่ายแล้วดูว่ามีขนาดใหญ่จากพีซี Windows หรือ Linux ขนาด 0 ไบต์! มันเป็นสิ่งที่แยกทรัพยากรสับสนความคิด 'มันแค่ทำงาน'
ʍǝɥʇɐɯ

ใช่มันเป็นความจริงที่รู้จักกันดีในอุตสาหกรรมของฉันที่ตัวอักษร Mac ไม่ซิปดี บ่อยครั้งที่ผู้ใช้พีซีจะคลายซิปเป็น 0 ไบต์
Django Reinhardt

14

ZIP ใช้การตรวจสอบเพื่อตรวจสอบว่าไฟล์ที่แตกออกมานั้นเหมือนกับไฟล์ก่อนที่จะทำการบรรจุหรือไม่

ดังนั้นหากมีการเปลี่ยนแปลงด้วยเหตุผลบางอย่าง (ตัวอย่างเช่นไฟล์เก็บถาวรที่ใช้งานไม่ได้) - มันจะไม่ถูกแตกออกจากกล่อง


ไม่เกี่ยวข้องเนื่องจาก zip ใช้การบีบอัดแบบไม่มีการบีบอัด (หรือ 'ที่เก็บข้อมูล' การบีบอัดอาจถูกปิดใช้งาน) การตรวจสอบเป็นเพียงการ beeing สามารถให้ข้อเสนอแนะบางอย่างหากมีสิ่งผิดปกติ
akira

13
ยกโทษให้ pedantry แต่ ZIP ไม่ได้ใช้ checksum - มันใช้การตรวจสอบซ้ำซ้อนแบบ 32 บิต ( CRC-32 ) ซึ่งตรวจสอบข้อผิดพลาดที่กว้างกว่ามาก
Bevan

5
คำว่า "checksum" นั้นค่อนข้างชัดเจนในความหมายมากกว่าคำจำกัดความดั้งเดิมถ้าผู้คนสามารถ [และพวกเขา] เรียกผลลัพธ์ของฟังก์ชันแฮชเข้ารหัส "checksums"
Random832

9

เฉพาะในกรณีที่พวกเขากำลังทำอะไรโง่ ๆ เช่นทำการแปลงโหมดข้อความหรือหากมีการแตก zip / unzip บางแห่งที่สับสนโดย zip ที่ฝังอยู่ (ข้อบกพร่องดังกล่าวได้เกิดขึ้นในอดีตที่ผ่านมา. - ความหมายอาจจะ 10 ปีที่ผ่านมา)


4

Zip ใช้อัลกอริทึมการบีบอัดแบบลดความสูญเสียเพื่อให้แน่ใจว่าข้อมูลที่คุณได้รับกลับมานั้นเหมือนกับข้อมูลที่คุณใส่เข้าไป

(BTW, เทคโนโลยีอื่น ๆ เช่น jpg, mpeg, mp3 ใช้เทคนิค lossy เพื่อบีบอัดด้วยทฤษฎีที่ว่าตาและหูของเราไม่ไวต่อความรู้สึก)


0

ความจริงเดียวที่ฉันเห็นในคำสั่ง "zipping break fonts" คือถ้ารูปแบบไฟล์ PSD นั้นมีเวอร์ชัน "บีบอัด" หรือตัวเลือกที่คุณสามารถเปิดใช้งานในโปรแกรมใดก็ตามที่สร้างไฟล์เหล่านี้

การใช้โปรแกรม zip ใด ๆ ก็น่าจะดียกเว้นว่ามันเป็นรถ

ในการตอบสนองต่อ Marc มีปัญหาเกี่ยวกับระบบไฟล์ที่อาจเกิดขึ้นกับระบบไฟล์ EXT หากคุณลองและบีบอัดโครงสร้างไดเรกทอรีที่มีลิงค์นุ่มและฮาร์ดในรูปแบบซิปที่ไม่เข้าใจสิ่งเหล่านี้ (ซึ่งเป็นสาเหตุที่ฉันมักจะทำ. tar.gz แทน ของ a. zip ที่นั่น) นอกจากนี้การซิปลิงก์นุ่ม ๆ ที่มีเส้นทางสัมพัทธ์จากนั้นการคลายซิปที่อื่นจะไม่ทำงานแน่นอน แต่นั่นไม่ใช่ความผิดของโปรแกรมซิป


0

หากพวกเขามีปัญหาดังกล่าวมาก่อน (การบีบอัดไฟล์ PSD ที่เสียหาย) ทั้งซอฟต์แวร์บีบอัดของพวกเขาเป็นความผิดพลาดพวกเขาจะไม่รวมไฟล์ทั้งหมดที่พวกเขาต้องการใน PSD และ / หรือคอมพิวเตอร์ของพวกเขาติดไวรัส

ฉันจะถามพวกเขาหากพวกเขามีความเสียหายที่คล้ายกันโดยการย้ายไฟล์ไปยังดิสก์ usb เพียงเพื่อยกเลิกตัวเลือกสุดท้ายที่


0

เพียงเพื่อเพิ่มข้อแม้อีกหนึ่งรายการเพื่อความครบถ้วน: การซิปอาจทำให้ข้อมูลเมตาของไฟล์เช่นการอนุญาตหรือการเข้าถึงครั้งล่าสุดสูญหาย

ฉันไม่เชื่อว่าโดยทั่วไปเกี่ยวข้องกับไฟล์ PSD และแบบอักษร


ฉันคิดว่ามีความเข้าใจผิดเกี่ยวกับแนวคิดของอัลกอริทึมการบีบอัดแบบไม่สูญเสียข้อมูลและโปรแกรมที่ทำงานนี้ หมายถึงแบบไม่สูญเสียกระแสข้อมูลไบนารีที่ถูกบีบอัดจะถูกแตกไปยังกระแสข้อมูลไบนารีที่เหมือนกัน ข้อมูล Meta ขึ้นอยู่กับระบบปฏิบัติการและต้องได้รับการจัดการโดยระบบปฏิบัติการและ / หรือแอปพลิเคชัน
Bora

1
ขอบคุณ @Bora แต่ฉันไม่มีความเข้าใจผิดเช่นนั้น ฉันรู้ว่าการซิปไม่ส่งผลกระทบต่อข้อมูลจริงในไฟล์ ฉันแนะนำสาเหตุ "ภายนอก" ที่อาจหลอกคนให้คิดว่าไฟล์ซิปเสียหายและไฟล์ของพวกเขา ฉันถูกดักจับในอดีตโดยการกู้คืนการสำรองข้อมูลซิปเพียงเพื่อจะพบว่าแอปพลิเคชันของฉันไม่ทำงานอีกต่อไปเพราะพวกเขาขึ้นอยู่กับข้อมูลเมตาที่ฉันไม่ได้นำมาใช้ (ไม่ใช่ความเข้าใจผิดขั้นพื้นฐานในส่วนของฉัน แต่เป็นเพียงการกำกับดูแล)
Oddthinking

0

ไฟล์ซิปอาจเสียหาย Zip เช่นนี้ไม่ได้ใช้ unicode การเข้ารหัสของชื่อไฟล์จะไม่ได้รับการกำหนดและจะใช้ตำแหน่งที่ตั้งปัจจุบันของ windows

ดังนั้นเมื่อถ่ายโอนไปยังระบบอื่นชื่อไฟล์ของคุณจะถูกทำให้ยุ่งเหยิง

มีส่วนขยายในรูปแบบ Zip ที่โปรแกรมล่าสุด (winzip ตั้งแต่รุ่น 11 ที่ฉันคิด) ใช้อยู่

ฉันชอบ 7z eversince ฉันมีซิปเต็มไปด้วยชื่อภาษาญี่ปุ่นไม่สามารถคลายซิปได้


0

ไฟล์ซิปควรจะสามารถทำซ้ำเนื้อหาได้อย่างแน่นอน

บันทึกย่อหนึ่งที่เกี่ยวข้องแม้ว่า - มันเป็นการยากที่จะกู้คืนข้อมูลถ้าไฟล์ซิปเสียหายมากกว่าข้อมูลที่อยู่ในรูปแบบดั้งเดิม ทำไม? รูปแบบไฟล์หลายรูปแบบมีความซ้ำซ้อนและได้รับการออกแบบเพื่อให้ข้อผิดพลาดเล็กน้อยสามารถแก้ไขได้หรือข้อผิดพลาดเล็กน้อยไม่สำคัญ

ลองนึกภาพไฟล์วิดีโอ ในรูปแบบส่วนใหญ่หากส่วนเล็ก ๆ ได้รับความเสียหายคุณจะเห็นการกะพริบชั่วคราวในส่วนเล็ก ๆ ของวิดีโอ แต่ยังสามารถดูวิดีโอได้ แต่ถ้าไฟล์วิดีโอถูกบีบอัดความสามารถในการแก้ไขข้อผิดพลาดจะลดลงและขึ้นอยู่กับขอบเขตของความเสียหายคุณอาจไม่สามารถคลายซิปไฟล์ / ดูวิดีโอได้ (นี่เป็นตัวอย่างที่ถูกวางแผนเนื่องจากมันไม่มีประโยชน์ที่จะซิปรูปแบบวิดีโอส่วนใหญ่ในทุกกรณี)

สิ่งนี้เป็นจริงสำหรับรูปแบบการบีบอัดใด ๆ - การบีบอัดตามคำจำกัดความช่วยลดความซ้ำซ้อนดังนั้นความสามารถในการแก้ไขข้อผิดพลาดและการแลกเปลี่ยน


ตามความคิดเห็นข้างต้นกล่าวว่าไฟล์ zip บางรูปแบบรองรับความซ้ำซ้อน สิ่งนี้สามารถทำให้ปลอดภัยยิ่งขึ้นกว่ารูปแบบดั้งเดิม
DMan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.