エスケープシーケンス
読み:エスケープシーケンス
外語:escape sequence
エスケープコードと呼ばれる
制御コード
と、それに続く文字列により、様々な拡張機能を実現するもの。
目次
概要
機能
MS-DOS
VT100
EBCDIC
ISO/IEC 2022
概要
エスケープコードは、
ASCII
では0/11(0x1b)を、
EBCDIC
では2/7(0x27)を使う。
エスケープコードに続いて、0文字以上の中間文字を含み、終端文字で終える。中間文字は一般に英数字以外の記号から始まり、終端文字は一般に英数字である。
機能
MS-DOS
MS-DOSなどでは、独自のエスケープシーケンスに対応し、コンソールで次のような機能に対応した。
文字の色の変更
文字の背景色の変更
カーソルの位置の変更
言語
の切り替え
多くの機種で対応したが、それぞれについて
互換性
がなく、挙動が異なることがあるので注意が必要である。
VT100
かつてのDECの端末装置
VT100
で使われていたエスケープシーケンスである。現在でも
TELNET
など端末
ソフトウェア
で対応しており、UNIX互換システムでは標準として利用されている。
エスケープで始まり、必要に応じて引数や区切り(;)があり、最後に終了文字を置くことで機能する。
文字の色の変更
文字の背景色の変更
カーソルの位置の変更
文字集合の変更
色の変更は、ESC [ … mという列で、例えば「ESC[0;31m」なら赤になる。0は修飾をクリアする機能で、0の代わりに1にすると太字の表現となるが、多くのVT100端末エミュレーターは太字にする代わりに明るく表示する。つまり「0;31」は暗い赤で、「1;31」は明るい赤になる。他に、下線、点滅、白黒反転などがある。
EBCDIC
EBCDIC
/
EBCDIK
環境で、エスケープシーケンスの類いがどれ程使われている/いたのかは、定かではない。
EBCDICの日本語拡張に
KEIS
と
JEF
があるが、EBCDIC字面と日本語字面の切り換えには、双方ともにエスケープシーケンスを使っていない。
KEISでは、1/10 4/1でEBCDIK→漢字モード、1/10 4/2で漢字モード→EBCDIKである。
JEFでは、2/8でEBCDIC→漢字モード、2/9で漢字モード→EBCDICである。
ISO/IEC 2022
ISO/IEC 2022では、文字列の途中で言語の切り換えを可能とするように、エスケープ拡張の方法を国際標準化した。
具体的には、「ESC + 0文字以上の中間文字 + 終端文字」という構成を必要回数実行し、7ビットまたは8ビットの範囲に必要な言語を指定して使用する。こうすることで、従来のASCIIと
互換性
を持たせながら、世界中の言語に対応できる。
再検索