エスケープ‐シーケンス【escape sequence】
エスケープシーケンス
【英】escape sequence
エスケープシーケンスとは、画面上に文字を出力する際に、文字そのものを出力するのではなく、文字色の変更やカーソルの移動、文字の消去など、文字出力の制御を行う特殊な文字列のことである。
制御コードのEscapeと制御文字を組み合わせて用いるため、エスケープシーケンスと呼ばれる。
もともと出力装置の制御に用いられる文字列であり、プログラミングに縁のない一般ユーザーが使う機会は少ないが、テキストエディタでマクロを使いこなしたり、特殊な文字を指定したりするときに必要となる。また、初期のパソコン通信では、テキストに色を付けたり、カーソルに特殊な動きをさせる際に用いられた。
エスケープシーケンス
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/06/14 02:48 UTC 版)
エスケープシーケンス (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の例
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) には、多数の端末の画面制御エスケープシーケンスが記述されている。
エスケープシーケンス
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/10 02:08 UTC 版)
エスケープシーケンスはエスケープ文字と似ているが、衝突する文字そのものの代わりに別の文字列を使用する。 例えば、Perlにおいて文字列リテラルの中にダブルクォートを含ませたいとき、以下のように書く。 print "Nancy said \x22Hello World!\x22 to the crowd."; ### ダブルクォートの代わりにエスケープシーケンス \x22 を使用 エスケープ文字を使うと以下のようになる。 print "Nancy said \"Hello World!\" to the crowd."; ### エスケープ文字を使用 エスケープシーケンスの欠点は、それぞれの文字を意味するコードを覚える必要があることである(文字参照を参照)。
※この「エスケープシーケンス」の解説は、「区切り文字」の解説の一部です。
「エスケープシーケンス」を含む「区切り文字」の記事については、「区切り文字」の概要を参照ください。
- エスケープシーケンスのページへのリンク