Control sequences。[[ISO/IEC6429]] で定義されてます。 1991 5.4 を元に [[ABNF]] で書くと、大まかな構造はこんなんです。 =control-sequence = CSI [P] *I F =CSI = ESC %x5B / %x9B ;; ESC Fe / [[CR]] ([[符号]]の構造・[[告知]]による) =P = std-P / private-P ;; Parameter byte(s) =std-P = %x30-3B *( %x30-3F ) =pvt-P = %x3C-3F *( %x30-3F ) =I = %x20-2F ;; Intermediate byte =F = std-F / private-F ;; Final byte =std-F = %x40-6F =private-F = %x70-7E *パラメーター・バイト =P = std-P / pvt-P =std-P = sub-string *(separator sub-string) =separator = %x3B =sub-string = *( DIGIT / digit-separator ) =DIGIT = %x30-39 =digit-separator = %x3A ;; 小数点などに使用 sub-string の先導 *"0" は無視可能。 ("0123" == "123", "000" == "0") sub-string は空 (empty) になり得る。最後の sub-string が空であるのは、その直前の separator が無いのと同じ意味。 ("1;1;" == "1;1") *7ビット・8ビット変換のための例外的解釈 冒頭の ABNF は、こんな風に修正しないといけません。 =control-sequence = CSI *(s P) *(s I) s F =s = %x0E / %x0F ;; SHIFT OUT / SHIFT IN =P = %x30-3F / %xB0-BF =I = %x20-2F / %xA0-AF =F = %x40-7E / %xC0-FE 詳しくは[[7ビット符号と8ビット符号]]を参照。