エスケープ文字 【escape sequence】 エスケープシーケンス
概要
エスケープ文字(escape sequence)とは、文字列の中に機器の制御コードや通常は表記できない特殊な文字を混在させるために用いられる特別な記号。また、その記号を先頭とする特殊な記法で記されたコードや文字。もともとASCII文字コードに規定された制御文字の一つであるエスケープ文字(ESC/27番/16進数で1B)から始まる表示・印字制御のための特殊なコード列のことを指していたが、今日では特殊な記法で通常の文字列以外のものを埋め込む手法全般を指す。
古くはプリンタの印字制御やディスプレイの表示制御、表示文字列の装飾指定などのために用いられた。いくつかの文字コードでは文字列中で文字集合の指定や切り替えを行うためにエスケープ文字を挿入する手法が採用されている。これらは文字として規定されていない制御コードによるエスケープ文字の例である。
プログラム等でのエスケープ文字
プログラミング言語や正規表現などでは、文字列の表記法の仕様(リテラル)の一部として、特定の記号文字から始まる文字列により特殊な文字や機能、制御コードなどを書き表すことができるようになっている。現代ではエスケープ文字といえばこれを指すことが多い。
例えば、C言語やその記法を受け継ぐ多くの言語では、「
」が改行コードの一種であるラインフィード(LF:Line Feed)を、「\r」がキャリッジリターン(CR:Carriage Return)を、「\t」がタブ文字を表すといったように、バックスラッシュ(日本語環境では円マーク)と続く一文字で制御コードなどを表記することができる。
他にも、URLでは「%」(パーセント記号)が文字コードを記述するためのエスケープ文字であり、URLパラメータ(パーセントエンコーディング)で用いられる。HTMLやXMLでは「&」(アンパサンド)が文字参照を記述するためのエスケープ文字であり、記号文字などを表記するのに用いられる。
(2024.2.17更新)