web-dev-qa-db-ja.com

ファイルを圧縮すると壊れることはありますか?

誰かに圧縮されたpsdファイルを送ってくれるように頼みました。

ファイルを圧縮するとフォントが壊れる可能性があるとして引用を拒否した。

ファイルの圧縮は完全にリバーシブルであると想定していたので、なぜそれが一般的に使用されているのか。相手は間違っていると思います。

ファイルの内容を圧縮解除することについて真実はありますか?

85
alex

いいえ、ファイルを圧縮しても壊れることはありません。 Zipファイルが破損していない場合、解凍すると同じファイルが再現されます。

この場合、2つの異なるシステムにインストールされているフォントの違いにより問題が発生する可能性がありますが、Zip/unzipプロセスとはまったく関係ありません。

133

generalの使用では、Zipはロスレスです(バグのない実装を前提としています)が、データに適用できるoneシナリオがあります-損失:NTFS代替データストリーム。このほとんど使用されない機能により、単一のファイルに複数の独立したコンテンツセットを含めることができます。ほとんどのコードはunnamedストリームのみを参照しますが、他のコードも存在する可能性があります。

そう;プログラムがNTFS代替データストリームにデータを保存することを決定した場合、Zipクライアントはその部分を表示しません(明示的に要求する必要があります RARが現在これを行う唯一のものです )。

ただし、強調すると、これはめったに使用されず、通常はPSDのようなものでは使用されません。あなたの友人/仲間は単に間違っていると思います。

81
Marc Gravell

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で機能しますが、元々はOS 9およびそれ以前のバージョンのMacintoshオペレーティングシステム用でした。 20年前に構築したフォントライブラリを一部の人々がまだ使用している可能性は十分にあります(私の経験では一般的です)。通常、これらはアーティストとアートディレクターのタイプです。たとえば、作成日が1993年のフォントがいくつか、作成日が1998年のフォントが数百あり、ほとんどがリソースフォークです。確かに、これらをもっと新しい形式に変換したり、使用を中止したりする必要がありましたが、それに直面しましょう。AdobeFont Libraryを購入したら、二度と購入したくありません。私は広告業界でアートディレクターと一緒に仕事をしていましたが、フォントフォルダーをアートディレクターの日記、当たり前の本、スーパーゴーのように尊重することを学びました。

  2. 一部のメタデータは、オペレーティングシステムの特定のバージョンで削除されます。メタデータは、ファイルの情報フィールドに追加されるものです。これによってファイルが破損することはありませんが、往復のZip-unzipが同じファイルを作成することもありません。

PS:ここでは、PSDファイルを別の人に配信するために圧縮している場合、それはフラット化されておらず、フォントはアウトラインに変換されていません。つまり、PSDでフォントファイルも配信することになります。受信側のユーザーが自分でファイルを変更できるようにするためです。これは一般的な方法です。

32
Grant Barrett

Zipはチェックサムを使用して、解凍されたファイルがパック前とまったく同じかどうかを確認します。

したがって、何らかの理由で変更された場合(たとえば、壊れたアーカイブ)、解凍されません。

14
zerkms

彼らがテキストモード変換をするような愚かなことをしている場合、または埋め込まれたZipによって混乱する壊れたZip/unzipがどこかにある場合のみ。 (そのようなバグhaveは過去に発生しました—おそらく10年前を意味します。)

9
geekosaur

Zipはロスレス圧縮アルゴリズムを使用して、返されるデータが入力したデータと同一であることを確認します。

(ところで、jpg、mpeg、mp3などの他のテクノロジーは、損失の多い手法を使用して、目と耳がそれほど敏感ではないという理論で圧縮します)

4
uSlackr

「zipフォントの圧縮」というステートメントで私が見た唯一の真実は、PSDファイル形式自体に「圧縮」バージョンまたはオプションがあり、これらのファイルを作成するプログラムで有効にでき、このオプションがフォントを異なる方法で処理する場合です。

バギーである場合を除いて、Zipプログラムの使用は問題ありません。

Marcへの対応として、これらを理解できないzip形式のソフトリンクとハードリンクを含むディレクトリ構造をZipしようとすると、EXTファイルシステムに潜在的なファイルシステムの問題があります(そのため、代わりに常に.tar.gzを作成しますの.Zipです)。また、ソフトリンクを相対パスで圧縮してから別の場所で解凍すると、もちろん動作しませんが、それはZipプログラムのせいではありません。

0
user81051

完全を期すためにもう1つ注意が必要です。Zipを実行すると、アクセス許可や最終アクセス時刻などのファイルのメタデータが失われる可能性があります。

私はそれがPSDファイルとフォントに一般的に関連しているとは思いません。

0
Oddthinking

Zipはファイル名を破壊する可能性があります。 Zip自体はUnicodeを使用しません。ファイル名のエンコーディングは指定されておらず、Windowsでは現在のロケールが使用されます。

したがって、別のシステムに転送すると、ファイル名がめちゃくちゃになります。

最新のプログラム(バージョン11以降のwinzip)が使用するZip形式の拡張機能があります。

私はそれを解凍することができない日本の名前でいっぱいのZipを持っていたので7zを好む。

0
Kugel

Zipファイルは内容を正確に再現できるはずです。

ただし、関連する注意点の1つとして、データが元の形式の場合よりも回復データZipファイルが破損した場合の方が困難です。どうして?多くのファイル形式には冗長性が組み込まれており、軽微なエラーが修正可能であるか、軽微なエラーが重大ではないように設計されています。

ビデオファイルを想像してみてください。ほとんどの形式では、ごく一部が破損した場合、ビデオのその一部に一時的なちらつきが見られますが、引き続きビデオを見ることができます。ただし、ビデオファイルが圧縮されている場合、エラー修正機能が低下し、破損の程度によっては、ファイルを解凍したり、ビデオを再生したりできない場合があります。 (これは、どのような場合でもほとんどのビデオ形式をZipするのに役に立たないため、不自然な例です)。

これは、どの圧縮形式にも当てはまります。定義上、圧縮により冗長性が減少し、エラー訂正機能とそのトレードオフが減少します。

0
tanon

以前にその問題があった場合(PSDの破損を圧縮)、圧縮ソフトウェアに欠陥があるか、PSDに必要なすべてのファイルが含まれていないか、コンピュータがウイルスに感染しています。

最後のオプションを破棄するためだけに、ファイルをUSBディスクに移動して同様の破損が発生していないかどうかを尋ねます。

0
egarcia