#?SuikaWiki/0.9 * 文字コードにおいて [10] [[ISO/IEC2022]] などで規定される、 [CODE(char)[[[ESC]]]] から始まる文字の列。 [1] >[[符号拡張]]手順において[[制御]]のために使用する一つ以上の[[ビット組合せ]]。 先頭のビット組合せは、 [[制御文字]] [CODE(char)[[[ESCAPE]]]] ([[エスケープ]]) を[[表現]]する。 Escape sequence。 [INS[([[JISX0201]]:1997 3.1, [[JISX0202]]:1998 4.13)]] >備考 この規格 [INS[(JIS X 0202)]] では、 [CODE(char)[ESCAPE]] は常に制御文字として引用される。 [INS[(JIS X 0202:1998)]] [2] [[ISO/IEC2022]] (:1994 13) で詳しく定義されています。 [3] エスケープ・シーケンスの一般定義を [[ABNF]] で表すと、こう。 -escape-sequence = ESCAPE intermediate-bytes final-bytes -ESCAPE = %x1B ;; ESC: 01/11 -intermediate-bytes = *intermediate-byte -intermediate-byte = %x20-2F ;; [VAR[I]]: 02/00〜02/15 -final-byte = %x30-%x7E ;; [VAR[F]]: 03/00〜07/14 より詳しくは: -escape-sequence = nF / ESC-Fp / ESC-Fe / ESC-Fs -nF = 0F / 1F / ... / 15F ;; %x20-2F -ESC-Fp = ESC %x30-3F ;; 私用[[制御機能]] -ESC-Fe = ESC %x40-5F ;; [[C1文字集合]]の制御機能 -ESC-Fs = ESC %x60-7E ;; 標準化された[[単独制御機能]] -0F = ;; ESC 02/00 F [[符号構造機能の告知]] -1F = ;; ESC 02/01 [I] F [[C0]][[文字集合の指示]] -2F = ;; ESC 02/02 [I] F [[C1]][[文字集合の指示]] -3F = <[[単独制御機能]]> ;; ESC 02/03 [I] F -4F = <多バイト図形[[文字集合の指示]]> ;; ESC 02/04 [I] F -5F = ;; ESC 02/06 F [[文字集合改訂番号]] -7F = -8F = ;; ESC 02/08 [I] F [[G0]]に94[[文字集合の指示]] -9F = ;; ESC 02/09 [I] F [[G1]]に94[[文字集合の指示]] -10F = ;; ESC 02/10 [I] F [[G2]]に94[[文字集合の指示]] -11F = ;; ESC 02/11 [I] F [[G3]]に94[[文字集合の指示]] -12F = ;; ESC 02/12 [I] F [[G0]]に96[[文字集合の指示]] (ISO/IEC 2022 では定義されていない) -13F = ;; ESC 02/13 [I] F [[G1]]に96[[文字集合の指示]] -14F = ;; ESC 02/14 [I] F [[G2]]に96[[文字集合の指示]] -15F = ;; ESC 02/15 [I] F [[G3]]に96[[文字集合の指示]] [[#comment]] **誤り処理 [8] 00/00〜01/15, 07/15〜15/15 が謝って含まれた場合 [[応用]]は誤り状態の識別手段及び誤り状態からの回復手段を 提供する必要があるかもしれませんが、その様な要件は ISO/IEC 2022 の範囲外とするとされています。 ([[JISX0202]]:1998 13.1 備考参照。) [1] >>8 エスケープ・シーケンスに出現し得ないバイトが出てきた場合だけでなく、未知のエスケープ・シーケンスが出てきた場合の回復はどうですかね? これも実装依存ですかね? [[#comment]] ** F = 07/00 [9] によると[[終端バイト]]の[[ビット組合せ]] 07/00 は予約されている。ただ、どの[[中間バイト]]においてなのか不明。 (GnD4 では既に割り当てられているし。) [CODE[Picture Coding Delimiter (PCD) specified in ISO 9281-1]] との混乱を防ぐためらしい。 ということは標準[[単独制御機能]] ([[Fs]]) のことか? [2] >>9 どうやら予約されているのは [CODE(char)[ESC 07/00]] のことらしいです。 [CODE(WikiPage)[[[PCD]]]] 参照。 [[#comment]] ** メモ [[#comment]] * その他「エスケープ・シーケンス」と呼ばれるもの - [11] 【[[HTML]]/[[XML]]】(俗) [[名前文字参照]]や[[数値文字参照]]のこと。 - [13] 【[[プログラム言語]]など】 [CODE(char)[[[\]]]] から始まる文字の列。たとえば [SAMP[[[\n]]]] とか。 -[14] 【[[URI]]】(俗) [[URI符号化]]のこと。