Interchange File Format

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая 212.7.31.156 (обсуждение) в 13:26, 17 июня 2008 (См. также). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Interchange File Format (IFF) — стандарт для файлов обмена данными, разработанный в 1985 фирмой Electronic Arts совместно с Commodore для новой платформы — Amiga — с целью упростить обмен данными между ПО различных производителей. Может содержать любые данные (звук, графику, текст и прочее).

Данный формат послужил основой для создания некоторых других форматов данных (см. ниже список форматов файлов в разделе См. также), а также сам по себе может быть известен под различными названиями (в зависимости от расширения файла — (I)LBM, AIFF, 8SVX и другие)

Структура

Основным понятием файла стандарта IFF является чанк (англ. chunk) — порция данных, являющаяся строительным материалом файла и состоящая из заголовка и данных. Заголовок состоит из 32-битного идентификатора (ckID) и логического блока (ckSize), указывающего размер данных (ckData) в чанке. Если данные имеют нечётное число байт, то последние нулевые байты в последнем слове данных игнорируются и не включаются в ckSize. В качестве примера приведём следующее описание:

typedef struct {

ID ckID;
LONG ckSize; /* sizeof(ckData) */
UBYTE ckData[/* ckSize */];
} Chunk;

Проиллюстрируем чанк «CMAP», состоящий из 12 байт:

ckID «CMAP»
ckSize 12
ckData 0, 0, 0, 32

0, 0, 64, 0
0, 0, 64, 0

(12 байт)

См. также

На основе IFF создано множество форматов, которые, по сути, являются всё тем же IFF:

Кроме того, с учётом «опыта эксплуатации» были созданы клоны:

  • RIFF - это вариант формата IFF, разработанный Microsoft и IBM; Файлы RIFF отличаются от файлов IFF тем, что имеют литеры RIFF в начале и используют порядок байтов целых чисел от младшего к старшему (little-endian). Файлы WAV, например, являются файлами RIFF. Версия с порядком байт от старшего к младшему (big-endian), RIFX, так же была определена, но не нашла значительного применения.
  • Формат файла TIFF разработан компанией Aldus, чтобы интегрировать графику с большим числом bitmap в PostScript. Он имеет блочную (chunk) структуру подобную IFF, однако сам по себе формат изображения не имеет отношения к формату ILBM.
  • Стандарт файла MIDI использует основные концепции формата IFF, однако не является файлом этого стандарта.
  • Формат файла PNG имеет ту же концепцию блоков (chunk), что и IFF, однако не копирует структуру.

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