RIFF
読み:リフ
外語:RIFF: Resource Interchange File Format

 一つのファイル内にチャンクと呼ばれるデータの塊(データブロック)が入れ子構造になった、可変長フォーマットのこと。
目次

概要
 画像や音声など、異なるタイプのリソース(データ)を一つのファイルに格納するための共通フォーマットとして、Electronic Arts社が開発したIFFを参考に、Microsoftにより作られた。現在でいうところの、コンテナーフォーマットの先駆けとなる発想である。
 一つのファイルに複数のデータを入れることも容易で、またデータを入れ子にすることも可能。
 拡張性や汎用性が高く、将来的に新しい形式の情報が登場したとしても容易に拡張でき、また従来のものとの互換性が保たれる形式になっている。
 Windowsでは映像+音声のAVIファイルや、音声のみのWAVファイルなどがRIFF形式のファイルとなっている。このため、Video for WindowsのAPIではWAVファイルを映像のない音声のみのAVIファイルのように扱える。

特徴
 RIFF全体の構造は、「RIFF形式の識別子」と必要な数の「チャンク」となる。
 1バイトは8ビットで4バイト(32ビット)形式の構造であり、中に含められるデータは1バイト単位の任意長であるが、フォーマットの仕様から各チャンクの最大サイズは232バイトまでである。
 数値はリトルエンディアンで格納されている。
長さ内容
4バイトRIFF形式の識別子'RIFF'
4バイトファイルサイズファイルの全体長-8
4バイトRIFFの識別子wavなら 'WAVE'
4バイトチャンク1タグ 
4バイトデータ長実データ長
nバイトデータ上のデータ長ぶんの長さのデータ
4バイトチャンク2タグ 
4バイトデータ長実データ長
nバイトデータ上のデータ長ぶんの長さのデータ
 (以下同様) 
 実質的に、12バイトのヘッダーがあり、以降はデータであるとも言える、シンプルな構造のファイルフォーマットである。

使用例

形式
 よく知られるもので、次のものがRIFFを採用している(アルファベット順)。

関連形式
 また、RIFFに近いよく知られるものとして、次のようなものがある(アルファベット順)。

再検索