エスケープシーケンス
表示
(エスケープ・シークェンスから転送)
エスケープシーケンス (escape sequence) とは、コンピュータシステムにおいて、通常の文字列では表せない特殊な文字や機能を、規定された特別な文字の並びにより表したもの。
具体例
[編集]代表的なものに、C言語の文字列リテラル中でバックスラッシュ(\、U+005C)で始めることで改行コードなどを表現するものや、エスケープコード (U+001B, ESC) で始めるISO/IEC 2022 (JIS X 0202) における文字集合の指示・呼び出しのシーケンス(漢字シフトコードも参照)や、ISO/IEC 6429 (ECMA-48、JIS X 0211) の画面制御シーケンス(いわゆる「ANSIエスケープシーケンス」)がある。
なお、U+001B に続くオクテット列は、特定の文字集合に属するわけではないので、本来は符号表上の行と列で記述するが、以下の例で括弧内に示したように対応するASCIIの文字で記述することも便宜上広く行われている。
ISO/IEC 2022の例
[編集]→「ISO/IEC 2022 § 制御機能」も参照
ESC 2/8 4/2
(ESC ( B
) - US-ASCIIをG0に指示する。ESC 2/4 4/2
(ESC $ B
) - JIS X 0208をG0に指示する。
ISO/IEC 6429の例
[編集]ESC 5/11 3/2 4/10
(ESC [ 2 J
) - 画面を消去する。ESC 5/11 y 3/11 x 4/8
(ESC [ y ; x H
) - 画面上の第 y 行第 x 列にカーソルを移動する(x および y はASCIIの数字3/0~3/9で構成)。
キャラクタ端末の画面を制御するエスケープシーケンスは、DECのVT100のものが事実上の標準となっている(ANSIエスケープシーケンスはVT100のサブセットである)が、製品ごとにさまざまな仕様が存在する。そのため、UNIXの端末情報データベース (termcap, terminfo) には、多数の端末の画面制御エスケープシーケンスが記述されている。