INIファイル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

INIファイルは構造の単純なテキストファイルであり、設定ファイルデファクトスタンダードである。このファイルは主にWindowsで使用するが、他のプラットフォームでも使われる。 INIファイルという名前はこのファイルの一般的な拡張子「.INI」から来ている。INIとはinitialization(イニシャライゼーション)の略であり、その他にconfiguration(コンフィギュレーション)の略である「.CFG」や「.conf」、あるいは「.TXT」も使われる。

フォーマット[編集]

基本的なフォーマットを以下に示す。

パラメータ
INIファイルに含まれる重要な要素が「パラメータ」である。個々のパラメータは「名前」と「値」を持ち、等号(=)で区切られる。等号の左が名前、右が値である。
 name=value
セクション
パラメータは任意の名前を持つ「セクション」でグループ分けすることができる。セクション名は角カッコ([~])で囲み1行を占める。セクションの宣言の後に現れるパラメータはそのセクションに属する。明示的にセクションの終わりを示すデリミタはなく、次のセクションの宣言かファイルの終端でセクションは終わる。よってセクションはネストすることができない。
 [section]
コメント
コメントの開始はセミコロン(;)によって示される。コメントはその行の終わりまで続く。セミコロンと行末の間の全ては無視される。
 ; comment text

その他の機能[編集]

INIファイルのフォーマットは明確には決まっていない。多くのプログラムは上で示す基本機能以上の機能をサポートする。以下は一般的な機能の一覧である。実装しているかはプログラム次第である。

空行
簡単なプログラムの中には空行を許さないものがある。この場合、すべての行はセクションの宣言かパラメータかコメントでなければならない。
クォーテーション
いくつかの実装では値を引用符で囲むことができる。典型的にはダブルクォーテーション("~")やアポストロフィ('~')あるいはその両方を使う。これにより明示的に空白文字を使ったり、特殊文字を使うことができる。
コメント
セミコロンに加え「#」もコメントの指示に使えるものがある。
コメントを開始する位置が行頭しか許されないものと、行の途中からでもコメントを入れられるものがある。
名前の重複
多くの実装ではセクションの中では同名のパラメータは1つしか許されない。2つ目が現われたときには、異常終了する、2つ目が無視される、1つ目が上書きされるといったことが起こる。一部のプログラムではパラメータを重複させることで複数の値を持つパラメータを作ることができる。
セクション名の重複の扱いも実装によりさまざまである。ある実装ではセクションが重複すると単純に両方のパラメータを合成する。また異常終了したり一部を無視したりする場合もある。
名前/値のデリミタ
等号の代わりにコロン(:)を使うものもある。
階層構造
一般的に、INIファイルにはセクションの階層構造はない。しかし、階層的な命名規則を持つように見えることがある。例えばA、B、Cの階層を考えたとき、セクション名に[A.B.C](Windowsのxstart.ini)や[A\B\C](IBM Windows ドライバファイルdevlist.ini)と付けたり、セクション[A]の下にパラメータB,C,P=Vを作ったり(Microsoft Visual StudioのAEMANAGR.INI)することは可能である。
この場合、これらが見た目を分かりやすくするための単なる慣習なのか、それともプログラムが階層を理解しているのかは区別が難しい。
エスケープ
エスケープ文字(典型的にはバックスラッシュ/円記号(\))の扱いはさまざまである。行末に置いた場合に改行を無視して次の行までを1つの論理行として扱うことがある。エスケープシークエンスによる特殊文字の扱いも見られる。
一般的なエスケープシークエンス
表記 解釈
\\ \(1つのバックスラッシュ、エスケープ文字をエスケープ)
\0 Null文字
\a ベル
\b バックスペース、まれにベル
\t タブ
\r 復帰(キャリッジリターン
\n 改行(ラインフィード
\;  ;
\# #
\= =
\:  :
\x???? 16進表記のUnicode文字