Interchange File Format
Interchange File Format (IFF) — формат файла-контейнера, разработанный в 1985 году корпорацией Electronic Arts совместно с Commodore для новой платформы Amiga с целью упростить обмен данными между ПО различных производителей. Контейнер IFF может содержать любые данные (звук, графику, текст и пр.)
Interchange File Format | |
---|---|
Расширение |
.iff |
MIME-тип | application/x-iff[1] |
Разработчик | Electronic Arts[2] |
Опубликован | 1985[2] |
Тип формата | формат файла и семейство файловых форматов[d] |
Данный формат послужил основой для других форматов файлов-контейнеров (см. ниже в разделе См. также), а также сам по себе может быть известен под различными названиями (в зависимости от суффикса имени файла: (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:
- 8SVX (аудиоформат)
- AIFF (аудиоформат)
- ANBM (устаревший формат для анимации)
- ANIM (формат для анимации)
- BIFF8 (ранее использовался Microsoft Excel)
- Alias/Wavefront Maya - формат изображений и описаний сцен
- Word document (текстовые документы, до Word 97)
- DjVu (формат для изображений)
- DR2D
- EMOD (формат модулей QuadraComposer)
- FNTR (растровый шрифт)
- FNTV (векторный шрифт)
- FTXT (текстовый формат)
- GSCR (apocryphal (?) General music Score)
- IFRS (иногда называют Blorb)
- IFZS (иногда называют Quetzal)
- ILBM (формат для хранения растровых изображений)
- LWO2 (формат программы Light wave)
- PDEF (Описание страницы в Deluxe Print)
- PICS (изображения Macintosh QuickDraw записанные в формате IFF)
- PLBM (устаревший формат изображений)
- SHRI
- SMUS (формат Simple Music, схожий с MIDI)
- USCR (музыка Uhuru Sound)
- UVOX (голос Uhuru Sound)
- VDEO (Deluxe Video Construction Set video)
- YAFA (формат для анимации)
Кроме того, с учётом «опыта эксплуатации» были созданы клоны:
- 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, однако не копирует структуру.
Примечания
Ссылки
- About Interchange File Format
- «EA IFF 85»: Standard for Interchange Format Files — описание формата IFF. Автор Джерри Моррисон (Jerry Morrison) из EA (14 января 1985 года)
- Standards and specs: The Interchange File Format (IFF)