Rule Interchange Format
- 1 year ago
- 0
- 0
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 :
Кроме того, с учётом «опыта эксплуатации» были созданы клоны:
![]() |
В статье есть список
источников
, но
не хватает
сносок
.
|