
すべてのファイルは、ビット & ビット & ビット &.... のように書き込まれます。
また、すべてのファイルには 2 種類のメタデータがあります。
- OS メタデータ: OS 自体に書き込まれるファイルの場所、所有者、権限など(例: Linux の inode)
- OS 以外のメタデータ: ファイル自体に書き込まれる著作権情報、色深度、画像解像度、シャッター速度など。
私の質問は、ファイル全体の「ビット シーケンス」における実際のファイル データとファイルに書き込まれたメタデータの相対的な位置はどこにあるかということです。「ビット シーケンス」では、メタデータが最初に出現しますか、それとも実際のファイル コンテンツが最初に出現しますか。
助言されます:回答がファイルの種類に大きく依存する場合は、.mp3 ファイルの種類を優先してください。
答え1
すべてのファイルは、ビット & ビット & ビット &.... のように書き込まれます。
ほとんどのオペレーティングシステムでは、ファイルはバイトOS レベルでのシーケンス - つまり、個々のビットとしてではなく、8 ビット単位でのみアドレス指定可能です。
一部のファイル形式では、バイトをビット ストリーム (または、より一般的にはビット ストリームの「パケット」のコレクション) として再解釈するように指定される場合がありますが、これは一般的なケースではありません。
「ビットシーケンス」では、メタデータが最初に出現しますか、それとも実際のファイル コンテンツが最初に出現しますか?
それとてもファイルの種類によって異なります。これは文字通り、ファイルの種類によって大きく異なります。定義する。
ファイル形式によっては、メタデータを先頭に配置するように指定されているものもあれば、末尾に配置するように指定されているものもあります。また、特定の識別子でマークされている限り、メタデータ チャンクをどこにでも配置できる構造化形式 (RIFF チャンクや PNG チャンクなど) を使用するものもあります。
MP3ファイルはID3v2タグ形式を使用します。メタデータブロックの位置とレイアウトはID3で定義されます。バージョン2.3.0またはバージョン2.4.0仕様。(例えば、後者のリンクのセクション5では、タグすべき最初にある。
しかし、多くのMP3ファイルにはファイルの最後(最後の256バイト)にID3v1タグブロックも含まれており、中にはID3v1のみでID3v2がないものもあります。実際、MP3ファイル形式は元々しなかったそもそも埋め込まれたメタデータに関する規定はなく、ID3v2 タグは依然として再生できないオーディオ フレームを装うような構造になっていると思います (互換性のため)。
PNGファイルはタグ付きチャンク重要なメタデータが格納されている構造「IDAT」とその他特定のタグを持つチャンク – ファイル内のオフセットに関係なく。(唯一の制限は、実際の「データ」チャンクの前にある必要があることです。)
JPEGファイルもタグ付きセグメントを使用し、メタデータを保持します。エクシフ形式は、TIFF ファイル全体が JPEG セグメントに埋め込まれているため、最初に JPEG、次に TIFF、最後に Exif という 3 つのレイヤーの形式を解釈する必要があります。参照してください。繰り返しになりますが、セグメントの場所は変化する可能性があります。セグメントにはタイプ タグによってメタデータが含まれていることが識別されます。
PE/COFFファイル(Windows .exe)は混合です。先頭近くに固定オフセットがありますが、そこに保持されるのはポインタ実際のPEヘッダーに実際のヘッダーオフセットはファイルごとに異なります。そのヘッダーには固定オフセットのメタデータがあり、その後にセクション特定のセクション名を持つ限り、任意の場所にさらにメタデータを保持できるリスト。
Microsoft Office (.docx/.xlsx) ファイルと OpenDocument (.odt/.ods) ファイルは実際には Zip アーカイブであるため、末尾に Zip レベルのメタデータ (「ディレクトリ」) があり、実際のドキュメント メタデータはその Zip アーカイブ内の特定の「ファイル」に保存されます。そのため、Office メタデータを見つけるには Zip ファイル ディレクトリを解釈する必要があります。
一部のファイル タイプにはメタデータが埋め込まれていません。たとえば、テキスト (.txt) ファイルには任意のテキストのみが含まれます。