ANSIエスケープコード

ANSIエスケープコード（ANSI_escape_code）もしくはANSIエスケープシーケンスは、ビデオテキスト端末と端末エミュレータ上でカーソル位置、色、フォントのスタイル、その他のオプションを制御するためのの規格。 

バイトの特定のシーケンス（ほとんどはASCIIエスケープ文字と括弧で始まる）は、テキストに埋め込まれている。端末はこれらのシーケンスを、文字通り表示するテキストではなく、コマンドとして解釈する。

ANSIシーケンスは、ベンダー固有のシーケンスを置き換えるために1970年代に導入され、1980年代初頭までにコンピュータ機器市場で広く普及した。21世紀にはハードウェアテキスト端末はますます稀になっているが、ターミナルエミュレータとコマンドコンソールの大部分がANSI規格の少なくとも一部を解釈するため、ANSI規格の関連性は依然として残っている。

 歴史 
ほとんど全てのビデオ端末メーカーは、画面上の任意の位置にカーソルを置くなどの操作を実行するために、ベンダ固有のエスケープシーケンスを追加した。一例として端末があり、これは文字、文字、そしてx,y位置に32を加えた数値に等しい数値を表す2文字（ASCIIスペース文字から始まり、制御文字を避けるため）を送信することで、画面上のx,y位置にカーソルを置くことができた。も同様の機能を持ち、、、そしてコンマで区切られたXとYの位置を使用して呼び出された。2つの端末はこの点で同一の機能を持っていたが、それらを呼び出すためには異なる制御シーケンスを使用する必要があった。

端末ごとにこれらのシーケンスが異なっていたため、プログラムがどの端末でも同じAPIを使用して動作できるように、termcap（「terminal capabilities」、端末機能）のような手の込んだライブラリやのようなユーティリティを作成する必要があった。加えて、これらの端末の多くは、（行や列などの）数値を文字のバイナリ値として送信する必要があった。一部のプログラミング言語や、内部的にASCIIを内部で使用していなかったシステムでは、数値を正しい文字に変換することは往々にして困難であった。

ANSI規格は、すべての端末が使用するコマンドセットを作成し、すべての数値情報をASCII番号として送信することを要求することで、これらの問題に対処しようとした。このシリーズの最初の規格はECMA-48であり、1976年に採用された。これは一連の文字コード規格の継続であり、最初の規格は1965年のECMA-6であり、ISO 646の起源となった7ビット規格である。「ANSIエスケープシーケンス」という名前は、ANSIがANSI X3.64を採用した1979年に由来する。ANSI X3L2委員会は、ECMA委員会TC 1と協力して、ほぼ同一の規格を作成した。これらの2つの規格は、国際規格であるISO 6429に統合された。1994年、ANSIは国際規格を支持して規格を撤回した。
代替文=DEC VT100 terminal|サムネイル|DEC VT100 ビデオ表示端末
これらのシーケンスをサポートする最初の一般的なビデオ端末は、1978年に導入されたDigital VT100であった。このモデルは市場で非常に成功し、さまざまなVT100クローンを生み出した。その中でも最も初期で人気があったのは、1979年のであり、はるかに手頃な価格であった。その他には、 QVT-108、 TVI-970、 WY-99GT、および他の多くのブランドでさまざまな互換性を持つオプションの「VT100」または「VT103」または「ANSI」モードが含まれていた。これらの普及は徐々に、より多くのソフトウェア（特に電子掲示板やその他の）がエスケープシーケンスが機能することを前提とするようになり、ほとんどすべてを新しい端末とエミュレータプログラムがそれらをサポートするようになった。

 Select Graphic Rendition parameters 


 脚注 

Category:ISO標準
Category:ANSI標準
Category:Ecma標準
Category:コンピュータの標準