Относительное положение битов в «битовой последовательности» файла

Относительное положение битов в «битовой последовательности» файла

Каждый файл записывается как биты, биты, биты и т. д.

Кроме того, каждый файл имеет 2 типа метаданных:

  1. Метаданные ОС: местоположение файла, владелец, разрешения и т. д., которые записаны в самой ОС (например: в inode для Linux)
  2. Метаданные, не относящиеся к ОС: информация об авторских правах, глубина цвета, разрешение изображения, выдержка и т. д., которые записываются в самом файле.

Мой вопрос заключается в том, каковы относительные позиции фактических данных файла и записанных в файл метаданных в "битовой последовательности" всего файла? Сначала появляются метаданные или фактическое содержимое файла в "битовой последовательности"?

СЛЕДУЕТ ПРИНИМАТЬ К СВЕДЕНИЮ:Если ответ сильно зависит от типа файла, то, пожалуйста, отдайте предпочтение типу файла .mp3.

решение1

Каждый файл записывается как биты, биты, биты и т. д.

В большинстве операционных систем файлыбайтпоследовательности на уровне ОС – т.е. они адресуются только как 8-битные единицы, а не как отдельные биты.

Некоторые форматы файлов могут быть указаны для повторной интерпретации байтов как потока битов (или, что более распространено, как набора «пакетов» потока битов), но это не является общим случаем.

Сначала идут метаданные или фактическое содержимое файла в «битовой последовательности»?

Этооченьзависит от типа файла: это буквально большая часть того, что тип файлаопределяет.

Некоторые форматы файлов предусматривают размещение метаданных в начале, другие — в конце, а третьи используют структурированный формат (например, фрагменты RIFF или PNG), в котором фрагмент метаданных может располагаться где угодно, если он помечен определенным идентификатором.

  • Файлы MP3 используют формат тега ID3v2 — положение и расположение блока метаданных определяются в ID3версия 2.3.0иливерсия 2.4.0спецификация. (Например, раздел 5 в последней ссылке говорит, что тегдолженбыть в начале.)

    Однако многие файлы MP3 также включают блок тегов ID3v1 в самом конце файла (последние 256 байт), а некоторые могут даже иметь только ID3v1, но не ID3v2. На самом деле формат файла MP3 изначальнонеизначально не предусматривают встроенные метаданные, и я думаю, что теги ID3v2 по-прежнему структурированы таким образом, что они притворяются невоспроизводимыми аудиокадрами (для совместимости).

  • Файлы PNG используютпомеченный кусокструктура, в которой находятся критические метаданные«ИДАТ» и другиефрагменты с определенными тегами – независимо от их смещения в файле. (Единственное ограничение заключается в том, что они должны предшествовать фактическим фрагментам «данных».)

    Файлы JPEG также используют тегированные сегменты и содержат метаданные.Exifформат, который представляет собой целый файл TIFF, встроенный в сегмент JPEG, поэтому вам приходится интерпретировать три слоя форматов — сначала JPEG, затем TIFF, затем, наконец, Exif.Смотрите также.Опять же, местоположение сегмента может меняться — он идентифицируется как содержащий метаданные по тегу типа.

  • Файлы PE/COFF (Windows .exe) представляют собой смесь: они имеют фиксированное смещение около начала, но оно содержит толькоуказательк настоящему заголовку PE, поэтомуфактические заголовкиoffset может меняться от файла к файлу. Этот заголовок имеет некоторые метаданные с фиксированными смещениями, затем имеетразделсписок, который может содержать больше метаданных в произвольных местах, если он имеет определенное имя раздела.

  • Файлы Microsoft Office (.docx/.xlsx) и OpenDocument (.odt/.ods) на самом деле являются Zip-архивами, поэтому в конце у них есть метаданные уровня Zip («каталог»), а сами метаданные документа хранятся в определенном «файле» в этом Zip-архиве, поэтому для поиска метаданных Office необходимо интерпретировать каталог Zip-файла.

  • Некоторые типы файлов не имеют встроенных метаданных. Например, текстовые файлы (.txt) просто содержат произвольный текст.

Связанный контент