Interchange File Format | |
---|---|
Расширение |
.iff |
MIME-тип | application/x-iff[1] |
Разработчик | Electronic Arts[2] |
Опубликован | 1985[2] |
Тип формата | формат файла и семейство файловых форматов[вд] |
Interchange File Format (IFF) — формат файла-контейнера, разработанный в 1985 году корпорацией Electronic Arts совместно с Commodore для новой платформы Amiga с целью упростить обмен данными между ПО различных производителей. Контейнер IFF может содержать любые данные (звук, графику, текст и пр.)
Данный формат послужил основой для других форматов файлов-контейнеров (см. ниже в разделе См. также), а также сам по себе может быть известен под различными названиями (в зависимости от суффикса имени файла: (I)LBM, AIFF, 8SVX и др.)
Основным понятием файла стандарта IFF является чанк (англ. chunk) — порция данных, являющаяся строительным материалом файла и состоящая из заголовка и данных. Заголовок состоит из 32-битного идентификатора (ID) в виде FourCC и 32-битного блока (Size), указывающего размер данных (Data) в чанке. Если данные имеют нечётное число байт, то последние нулевые байты в последнем слове данных игнорируются и не включаются в Size. В качестве примера приведём следующее описание:
typedef struct {
- char ID[4]; // FourCC идентификатор
- LONG Size; // Размер блока данных
- UBYTE Data[Size]; // Данные
- } Chunk;
Проиллюстрируем чанк «CMAP», состоящий из 12 байт:
ID «CMAP»
Size 12
Data 0, 0, 0, 32
0, 0, 64, 0
0, 0, 64, 0
(12 байт)
На основе IFF создано множество форматов, которые, по сути, являются всё тем же IFF:
Кроме того, с учётом «опыта эксплуатации» были созданы клоны:
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |
В статье есть список источников, но не хватает сносок. |