Kann das Zippen einer Datei dazu führen, dass sie beschädigt wird?


85

Ich habe gerade jemanden gebeten, mir eine gezippte psdDatei zu schicken .

Sie lehnten ab und führten an, dass das Komprimieren einer Datei die Schriften beschädigen kann .

Ich ging davon aus, dass das Komprimieren einer Datei vollkommen umkehrbar ist, weshalb sie häufig verwendet wird. Ich denke, die andere Person ist falsch.

Stimmt es, dass das Zippen den Inhalt seiner Dateien zerstört?


51
Möglicherweise hat die andere Person das Zippen einer Datei (verlustfrei) mit der JPEG-Komprimierung (verlustfrei) verwechselt, wodurch der Test hässlich aussehen kann.
Matt H

Ich weiß, dass ich einmal Kompatibilitätsprobleme mit zip-Dateien hatte, weil das Dateiformat auf allen Plattformen verwendet wird ...
jokoon

1
Ich habe auf jeden Fall gewisse "pathologische" Fälle erlebt, in denen sowohl Winrar als auch die in WinXP integrierten Funktionen Dateien brachen (Zehntausende in einer einzigen Zip-Datei). Dies war vor 4-5 Jahren und die einzige Lösung, die ich damals finden konnte, war die Verwendung von 7-zip. Wie ich mich erinnern kann, konnte sogar 7-Zip Dateien, die von anderen Routinen erstellt wurden, nicht erfolgreich entpacken , was darauf hindeutet, dass der Fehler beim Entpacken und nicht beim Entpacken lag. Offensichtlich habe ich mich trotzdem für 7-zip für beide Seiten im Produktionssystem entschieden.
FumbleFingers

1
@jokoon: Ich bin nicht sicher, ob es gültig ist, von einem Dateiformat zu sprechen, das auf allen Plattformen verwendet wird . Es gibt eine ganze Reihe verschiedener interner Formate, die in ZIP-Dateien verwendet werden, und es ist immer möglich, dass ein Archiv von einer Packroutine erstellt wird, wobei ein Format verwendet wird, das von einer anderen Routine, die Sie zum Zeitpunkt des Entpackens verwenden, nur unvollständig unterstützt wird.
FumbleFingers

@Fummeln; Trotzdem sollte jeder anständige Archivierer die Hash-Änderung abfangen und den Vorgang als fehlgeschlagen melden - und keine kaputte Datei herumliegen lassen.
Phoshi

Antworten:


133

Nein, das Komprimieren einer Datei kann sie nicht beschädigen. Vorausgesetzt, Ihre Zip-Datei ist nicht beschädigt, wird beim Entpacken die identische Datei reproduziert.

In diesem Fall kann der Unterschied zwischen den auf den beiden verschiedenen Systemen installierten Schriftarten zu Problemen führen, die sich jedoch nicht auf den Zip- / Dekomprimierungsprozess beziehen.


4
Das habe ich vermutet. Danke für deine Antwort.
Alex

34
Darüber hinaus unterstützen einige Zip-Formate Redundanz, dh das Speichern als Zip kann tatsächlich sicherer sein als das Speichern der einfachen Datei.
BlueRaja - Danny Pflughoeft

Sie sollten nicht so schnell nein sagen, es gibt eine Menge Zipping- / Dekomprimierungs-Implementierungen, die alle vorhandenen Betriebssysteme und andere Dinge zählen, die Zip-Dateien erstellen können. Ich wäre nicht überrascht, dass einige Implementierungen andere einfach nicht interessieren .
jokoon

@jokoon: dann wären diese dateien beschädigt, was er explizit ausschließt
mbx

3
-1 Theoretisch stimmt das, aber in der Praxis gibt es Probleme, wenn Mac-Schriftarten auf einem PC als 0 Byte entpackt werden. Dies liegt daran, dass ein Ressourcenzweig erstellt wird. Probieren Sie es aus und sehen Sie.
Django Reinhardt

80

Im Allgemeinen ist zip verlustfrei (vorausgesetzt eine fehlerfreie Implementierung), es gibt jedoch ein Szenario, das auf Datenverlust zutreffen könnte: Alternative NTFS-Datenströme. Diese wenig genutzte Funktion ermöglicht es einer einzelnen Datei , mehrere unabhängige Inhaltssätze zu haben. Der meiste Code wird immer nur den unbenannten Stream sehen, aber andere können existieren.

Damit; Wenn ein Programm beschließt, die Daten in einem alternativen NTFS-Datenstrom zu speichern, wird dieser Teil von Ihrem zip-Client nicht angezeigt (er muss explizit danach fragen, und RAR ist der einzige, der dies derzeit tut ).

Aber um zu betonen: Dies wird sehr selten verwendet und normalerweise nicht bei Dingen wie PSD. Ich vermute, Ihr Freund / Mitarbeiter ist einfach falsch.


11
Wow, das ist völlig neues Wissen für mich.
kizzx2,

5
Neu für mich und bizarr. Wann ist eine Datei keine Datei? Wenn sein Inhalt nach Belieben mutiert. Ich habe von schlimmeren Fehlfunktionen gehört, aber nicht von vielen.
msw

7
@msw - sie mutieren nicht nach Belieben; einfach - es kann mehr als einen Datenblock geben, der mit einem einzelnen Dateidatensatz verknüpft ist. Fast immer gibt es genau eins (es wird sehr selten verwendet), aber ...
Marc Gravell

4
Geh zurück zu SO! Zu technisch! (nur ein Scherz natürlich;)
Byron Whitlock


32

Unter bestimmten Umständen kann es vorkommen, dass eine Mac-Schriftart nicht identisch ist, wenn sie komprimiert und anschließend dekomprimiert wird. Dies kann möglicherweise nicht schaden, aber im Gegensatz zu einigen obigen Aussagen liefert der Prozess möglicherweise keine identische Datei.

Die Umstände werden hier diskutiert:

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

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

Aber kurz gesagt:

  1. Wenn es sich um viel ältere Schriftarten handelt, die Resource Forks enthalten, und der Benutzer über eine ältere Version von Mac OS X verfügt, normalerweise 10.4 oder früher. Diese älteren Schriftarten funktionieren unter OS X, obwohl sie ursprünglich für OS 9 und frühere Versionen des Macintosh-Betriebssystems vorgesehen waren. Es ist sehr wahrscheinlich (und meiner Erfahrung nach üblich), dass einige Leute immer noch eine Schriftbibliothek verwenden, die sie vor 20 Jahren erstellt haben. In der Regel sind dies Künstler und Art Director. Zum Beispiel habe ich einige Schriften mit Erstellungsdaten von 1993 und Hunderte mit Erstellungsdaten von 1998, die meisten mit Resource Forks. Natürlich hätte ich diese auf modernere Formate umstellen oder sie nicht mehr verwenden sollen, aber seien wir ehrlich: Sobald Sie die Adobe Font Library gekauft haben, möchten Sie sie nie wieder kaufen. In meinen Jahren mit Art Direktoren in der Werbung arbeiten,

  2. Einige Metadaten werden in bestimmten Versionen des Betriebssystems entfernt. Metadaten können Dinge sein, die dem Informationsfeld der Datei hinzugefügt wurden. Dadurch wird die Datei nicht beschädigt, aber es wird auch keine identische Datei durch das Zip-Entpacken von Roundtrip erstellt.

PS: Ich gehe hier davon aus, dass wenn man eine PSD-Datei für die Übermittlung an eine andere Person komprimiert, diese nicht reduziert und die Schriftart nicht in eine Gliederung konvertiert wurde, was bedeutet, dass man die Schriftdateien auch mit der PSD übermitteln würde damit die Person am empfangenden Ende ihre eigenen Änderungen an der Datei vornehmen kann. Dies ist eine gängige Praxis.


2
+1 - Ich wünschte, ich könnte dies genug Punkte geben, um es an die Spitze des Stapels zu schieben. Mac OS verfügt über Schriftartvarianten vom Typ 1 und TrueType, bei denen die Schriftartdaten im Ressourcenzweig gespeichert werden. Die systemeigenen Zip- / Dekomprimierungs-Tools des Betriebssystems können mit dieser Situation problemlos umgehen, jedoch nicht alle Tools (insbesondere auf OS X portierte Befehlszeilen-Tools). Was noch schlimmer ist , nicht die Schriften zippen und versuchen , sie per E - Mail senden oder FTP wird sie brechen!
afrazier

1
Das Problem hier scheint jedoch darin zu liegen, wie Sie sie komprimieren, und nicht, ob Sie dies können. Es scheint, als ob Sie ein Programm benötigen, das Resource Forks versteht und Sie müssen wissen, wie man es benutzt. Lese ich das richtig?
uSlackr

@uSlackr, richtig, aber das Problem bleibt auf der Empfangsseite bestehen. Wenn das Archiv dann in Windows verschoben wird, erhalten Sie wahrscheinlich einen Stapel unbrauchbarer Schriftdateien, da Windows (insbesondere NTFS) zwar mehrere Datenströme in einer Datei zulässt, Schriftarten unter Windows jedoch nicht so funktionieren. Die PSD-Datei selbst ist jedoch wahrscheinlich zwischen Mac und Windows portierbar.
RBerteig

+1 - Speichern Sie zum Beispiel Ihre Mac-Schriftarten auf einem Netzwerklaufwerk und sehen Sie dann, wie groß sie von einem Windows- oder Linux-PC aus sind - 0 Byte! Es ist die Ressourcengabel, die die Idee, dass es einfach funktioniert, verwirrt.
15.

Ja, es ist eine in meiner Branche bekannte Tatsache, dass Mac-Schriften nicht gut komprimiert werden. Oft entpackt ein PC-Benutzer sie mit 0 Bytes.
Django Reinhardt

14

ZIP verwendet eine Prüfsumme, um zu überprüfen, ob die entpackte Datei genau so ist wie vor dem Packen.

Wenn es also aus irgendeinem Grund geändert wurde (z. B. kaputtes Archiv), würde es nicht einmal entpackt.


irrelevant, da zip verlustfreie Komprimierung verwendet (oder "Speicher", Komprimierung könnte deaktiviert sein). Eine Prüfsumme ist nur, um in der Lage zu sein, Feedback zu geben, wenn etwas schief gelaufen ist.
Akira

13
Verzeihen Sie die Pedanterie, aber ZIP verwendet keine Prüfsumme - es verwendet eine zyklische 32-Bit-Redundanzprüfung (auch bekannt als CRC-32 ), die einen viel größeren Bereich von Fehlern erkennt.
Bevan

5
Der Begriff "Prüfsumme" hat eindeutig eine etwas breitere Bedeutung als seine ursprüngliche Definition, wenn Menschen die Ergebnisse von kryptografischen Hash-Funktionen als "Prüfsummen" bezeichnen können.
Random832

9

Nur wenn sie etwas Dummes tun, wie eine Konvertierung im Textmodus, oder wenn irgendwo eine kaputte Zip / Entpackung vorliegt, die durch eine eingebettete Zip verwirrt wird. (Solche Bugs sind in der Vergangenheit aufgetreten - also vielleicht vor 10 Jahren.)


4

Zip verwendet einen verlustfreien Komprimierungsalgorithmus, um sicherzustellen, dass die zurückgegebenen Daten mit den von Ihnen eingegebenen Daten identisch sind.

(BTW, Andere Technologien wie JPG, MPEG, MP3, verwenden verlustbehaftete Techniken, um mit der Theorie zu komprimieren, dass unsere Augen und Ohren nicht so empfindlich sind)


0

Die einzige Wahrheit, die ich in der Aussage "Zippen unterbricht Schriften" sehen konnte, ist, dass das PSD-Dateiformat selbst eine "komprimierte" Version oder Option hat, die Sie in jedem Programm aktivieren können, das diese Dateien erstellt, und diese Option behandelt Schriften irgendwie anders.

Die Verwendung eines beliebigen Zip-Programms sollte in Ordnung sein, es sei denn, es ist fehlerhaft.

Als Reaktion auf Marc gibt es auch potenzielle Dateisystemprobleme bei EXT-Dateisystemen, wenn Sie versuchen, eine Verzeichnisstruktur mit weichen und harten Links in einem komprimierten Format zu komprimieren, das diese nicht versteht (weshalb ich stattdessen immer eine .tar.gz-Datei erstelle) von einem .zip dort). Das Komprimieren von Softlinks mit relativen Pfaden und das anschließende Dekomprimieren an einer anderen Stelle funktioniert natürlich nicht, aber das ist nicht die Schuld des Komprimierungsprogramms.


0

Wenn sie dieses Problem schon einmal hatten (zippen einer beschädigten PSD), ist entweder ihre Kompressorsoftware fehlerhaft, sie enthalten nicht alle benötigten Dateien auf der PSD, und / oder ihre Computer sind mit einem Virus infiziert.

Ich würde sie fragen, ob sie ähnliche Verfälschungen durch das Verschieben von Dateien auf USB-Festplatten hatten, nur um diese letzte Option zu verwerfen.


0

Nur um der Vollständigkeit halber noch eine Einschränkung hinzuzufügen: Durch das Zippen können die Metadaten der Datei verloren gehen, z. B. Berechtigungen oder die Zeit des letzten Zugriffs.

Ich glaube nicht, dass dies allgemein für PSD-Dateien und -Schriften relevant ist.


Ich denke, dass das Konzept eines verlustfreien Komprimierungsalgorithmus und der Programme, die diese Aufgabe ausführen, ein Missverständnis enthält. Verlustfrei bedeutet, dass der komprimierte Binärstrom auf den identischen Ausgabebinärstrom dekomprimiert wird. Meta-Informationen sind vom Betriebssystem abhängig und müssen vom Betriebssystem und / oder der Anwendung verarbeitet werden.
Bora

1
Danke, @Bora, aber ich habe kein solches Missverständnis. Ich stelle fest, dass das Zippen die tatsächlichen Daten in der Datei nicht beeinflusst. Ich schlage eine "externe" Ursache vor, die die Leute täuschen könnte, dass die Zip-Datei ihre Dateien und Verzeichnisse beschädigt hat. In der Vergangenheit habe ich gezippte Backups wiederhergestellt, und festgestellt, dass meine Anwendungen nicht mehr funktionierten, da sie von Metadaten abhängen, die ich nicht übermittelt habe. (Kein grundlegendes Missverständnis meinerseits, sondern nur ein Versehen.)
Seltsamerweise

0

Zip kann Dateinamen beschädigen. Zip als solches verwendet keinen Unicode. Die Kodierung der Dateinamen ist nicht spezifiziert und unter Windows wird das aktuelle Gebietsschema verwendet.

Daher werden Ihre Dateinamen beim Übertragen auf ein anderes System durcheinander gebracht.

Es gibt eine Erweiterung des Zip-Formats, die die neuesten Programme (nach meinem Dafürhalten seit Version 11) verwenden.

Ich bevorzuge 7z, da ich ein Zip voller japanischer Namen hatte, das ich nicht entpacken konnte.


0

Eine zip-Datei soll den Inhalt exakt wiedergeben können.

Ein Hinweis zum Thema: Es ist schwieriger, die Daten wiederherzustellen , wenn eine Zip-Datei beschädigt wird , als wenn die Daten im Originalformat vorliegen. Warum? Viele Dateiformate verfügen über integrierte Redundanz und sind so konzipiert, dass kleinere Fehler korrigiert werden können oder kleinere Fehler nicht kritisch sind.

Stellen Sie sich eine Videodatei vor. Wenn in den meisten Formaten ein kleiner Teil beschädigt wird, wird in diesem kleinen Teil des Videos ein vorübergehendes Flimmern angezeigt, das Video kann jedoch weiterhin angezeigt werden. Wenn die Videodatei jedoch komprimiert ist, ist die Fehlerkorrekturfunktion eingeschränkt, und je nach Ausmaß der Beschädigung können Sie die Datei möglicherweise nicht dekomprimieren bzw. das Video nicht ansehen. (Dies ist ein erfundenes Beispiel, da es ohnehin sinnlos ist, die meisten Videoformate zu komprimieren).

Dies gilt für jedes Komprimierungsformat. Die Komprimierung reduziert per Definition die Redundanz und damit die Fehlerkorrekturfähigkeiten und ist ein Kompromiss.


Wie bereits erwähnt, unterstützen einige Zip-Dateiformate Redundanz. Dies kann es noch sicherer machen als das Originalformat.
DMan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.