エスケープシーケンス

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

エスケープシーケンス (escape sequence) とは、コンピュータシステムにおいて、通常の文字列では表せない特殊な文字や機能を、規定された特別な文字の並びにより表したもの。狭義には、エスケープコード (0x1B, ESC) に始まる一連のバイト列のことをいう。

具体例[ソースを編集]

代表的なものに、ISO/IEC 2022 (JIS X 0202) における文字集合の指示・呼び出しのシーケンス(漢字シフトコードも参照)や、ISO/IEC 6429 (ECMA-48、JIS X 0211) の画面制御シーケンス(いわゆる「ANSIエスケープシーケンス英語版」)がある。

なお、エスケープシーケンスを構成するバイト列は、特定の文字集合に属するわけではないので、本来は符号表上の行と列で記述するが、以下の例で括弧内に示したように対応するASCIIの文字で記述することも便宜上広く行われている。

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で構成)。

キャラクタ端末の画面を制御するエスケープシーケンスは、製品ごとにさまざまな仕様が存在するが、DECVT100のものが事実上の標準となっている(ANSIエスケープシーケンスはVT100のサブセットである)。UNIXの端末情報データベース (termcap, terminfo) には、多数の端末の画面制御エスケープシーケンスが記述されている。

そのほかの例[ソースを編集]

エスケープコードによるもの以外のエスケープシーケンスには、代表的なものに、C言語やその他のプログラミング言語の文字列リテラル中に用いられる、バックスラッシュに始まるものがある。

関連項目[ソースを編集]