Interchange File Format

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

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 is a variant of IFF format devised by Microsoft and IBM; RIFF files differ from IFF files in that they have letters RIFF at the beginning and use little-endian integers. WAV files, for example, are RIFFs. A big-endian version, RIFX, has also been defined but found no significant use.
  • Формат файла TIFF разработан компанией Aldus, чтобы интегрировать графику с большим числом bitmap в PostScript. It has a chunked structure similar to IFF, however the image format itself has no relationship to the ILBM format.
  • Стандарт файла MIDI использует основные концепции формата IFF, однако не является файлом этого стандарта.
  • Формат файла PNG имеет ту же концепцию чанков, что и IFF, однако не копирует структуру.

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