Формат файла обмена - Interchange File Format

Формат файла обмена
Тип интернет-СМИ приложение / x-iff
Разработано Electronic Arts , Коммодор
Первый выпуск 1985 ; 36 лет назад ( 1985 )
Тип формата Формат цифрового контейнера

Формат файла обмена ( IFF ) - это общий формат файла-контейнера, первоначально представленный компанией Electronic Arts в 1985 году (в сотрудничестве с Commodore ) для облегчения передачи данных между программным обеспечением, созданным разными компаниями.

Файлы IFF не имеют стандартного расширения . Во многих системах, которые генерируют файлы IFF, расширения файлов не важны (ОС хранит метаданные формата файла отдельно от имени файла). .iffРасширение обычно используется для ILBM файлов формата, которые используют формат IFF контейнера.

Формат файла обмена ресурсами - это формат, разработанный Microsoft и IBM в 1991 году и основанный на IFF, за исключением того, что порядок байтов был изменен на little-endian, чтобы соответствовать архитектуре процессора x86 . AIFF от Apple - это формат аудиофайлов с прямым порядком байтов , разработанный IFF. Формат файла изображения TIFF не имеет отношения.

Состав

Файл IFF состоит из фрагментов . Каждый фрагмент начинается с того, что в спецификации называется «ID типа» (то, что Macintosh называет OSType , а разработчики Windows могут называть FourCC ). За ним следует 32-битное целое число со знаком (все целые числа в файловой структуре IFF с прямым порядком байтов ), определяющее размер следующих данных (содержимого блока) в байтах. Поскольку спецификация включает явную длину для каждого фрагмента, синтаксический анализатор может пропускать фрагменты, которые он либо не может, либо не хочет обрабатывать.

Эта структура тесно связана с представлением тип – длина – значение (TLV).

Есть предопределенные группы ломти, с идентификаторами типа FORM, LISTи CAT . FORMФрагмент подобен структуре записи, содержащий идентификатор типа ( с указанием типа записи) , а затем вложенными другом в друге кусками , задающих поле записи. A LIST- это факторинговая структура, содержащая серию PROPфрагментов (свойств) плюс фрагменты вложенных групп, к которым применяются эти свойства. A CAT - это просто набор вложенных фрагментов без специальной семантики. Групповые фрагменты могут содержать другие групповые фрагменты, в зависимости от потребностей приложения. Чанки группы, как и их более простые аналоги, содержат элемент длины. Таким образом, пропуск группы можно выполнить с помощью простой операции относительного поиска .

Чанки должны начинаться с четных смещений файлов, как и положено исходным данным IFF на процессоре Motorola 68000 , который не мог адресовать количества больше байта по нечетным адресам. Таким образом, фрагменты с нечетной длиной будут «дополнены» до четной границы байта путем добавления так называемого «дополнительного байта» после их обычного конца.

Структура верхнего уровня файла IFF состоит ровно одной из групп кусков: FORM, LISTили CAT , где FORMна сегодняшний день является наиболее распространенным.

Каждый тип блока обычно имеет различную внутреннюю структуру, которая может быть числовыми данными, текстом или необработанными данными. Также можно включать другие файлы IFF, как если бы они были фрагментами (обратите внимание, что они имеют одинаковую структуру: четыре буквы, за которыми следует длина), и некоторые форматы используют это. Существуют стандартные фрагменты, которые могут присутствовать в любом файле IFF, например AUTH(содержащий текст с информацией об авторе файла), ANNO(содержащий текст с аннотацией, обычно имя программы, создавшей файл), NAME(содержащий текст с именем произведение в файле), VERS(содержащий версию файла), (c) (содержащий текст с информацией об авторских правах). Существуют также блоки, которые являются общими для ряда форматов, например CMAP, которые содержат цветовую палитру в файлах ILBM , ANIM и DR2D (изображения, анимации и векторные изображения). Есть блоки, которые имеют общее имя, но содержат разные данные, например BODY, которые могут хранить изображение в файле ILBM и звук в файле 8SVX . И, наконец, есть чанки, уникальные для своего типа файла. Некоторые программы, которые создают файлы IFF, добавляют к ним блоки со своими внутренними данными; эти же файлы позже могут быть прочитаны другими программами без каких-либо сбоев (поскольку их синтаксические анализаторы могут пропускать неинтересные фрагменты), что является большим преимуществом IFF и аналогичных форматов.

Смотрите также

  • RIFF ( несовместимая с прямым порядком байтов производная от IFF, первоначально от Microsoft)
  • AIFF ( производная от IFF, совместимая с прямым порядком байтов , первоначально от Apple)
  • Interleaved Bitmap (ILBM) (очень популярный формат файлов изображений на основе IFF)
  • PNG (современный формат графических файлов с чанковой структурой, вдохновленный IFF)
  • FourCC (подход к идентификации фрагментов, используемый многими форматами TLV, включая IFF, как подробное магическое число )

Примечания

использованная литература

внешние ссылки