[8] ISO/IEC 2022 の世界では、常に特定のビット組合せに結び付けられている符号化文字が3つあります。 >>17
略称 | 名前 | 符号表現 |
---|---|---|
DEL | DELETE | 07/15 (= 0x7F) |
ESC | ESCAPE | 01/11 (= 0x1B) |
SP | SPACE | 02/00 (= 0x20) |
[19]
制御文字の利用については別に ISO/IEC 6429
で定められていました。
ISO/IEC 2022
では C0 や C1
にそれ以外の制御文字集合を使うことを認めていましたが、
符号拡張法で使う ESCAPE
の用法が ISO/IEC 2022
で定められているなど、
ISO/IEC 2022
と
ISO/IEC 6429
は密接に関係していました。
[28]
GB 8045 は
2/0
,
10/0
に
MSP
を割り当てています。これは
ISO/IEC 2022
は認めていません。
[1] そうはいっても、これらの符号位置 (ビット組合せ) が必ずしもこれらの文字を表現するとは限りません。
02/00
及び 07/15
は図形文字を表現するビット組み合わせ
(の一部) になります。 01/11
だけは常に制御文字 ESCAPE
を表します。[2] >>1 ESC 2/1 7/14
(空 C0 集合)
が指示・呼出されている時も ESC
ってつかえるんですかね? (使えないと困るが。)
[6] >>2 ISO/IEC 2022 によると、 CL になにも指示・呼出しされていない状態でも
ESC
は使えるそうです。それが空集合が呼出された状態と同じ状態であるのなら、
答えは使える
になりますね。
[3] 逆に、これらの文字がほかの符号位置に割当てられていることはないのかというと、ほとんどありません。
[4] >>3 どういう時にその前提が崩れるのかというと、イランの何とかとか言う符号化文字集合は不思議なことに、8ビット符号では C0 や SPACE
とかも右側に呼び出されるんです。変でしょ?
[5] >>4 のような使い方が ISO/IEC 2022 に適合するのかは謎ですが、ともかくその符号化文字集合が ISO/IEC 2022 的構造をもっているのだけは事実。
[7]
>>2-3 JIS X 0202:1998 14.1 で空集合が規定されていますが、
その規定によれば空集合が指定されている時は対応するビット組合せを使ってはなりません。
そして何も指示・呼出しされていない状態
と空集合が指示されている状態
は
(特に明記されていない以上) 別の状態と考えるのが自然ですから、
空集合で ESCAPE
は使えないと考えてよいでしょう。
(名無しさん [sage])
[11] >>7 の解釈が正しいとすると、 C0 にいったん空集合を指示してしまうと、 もうそれ以後エスケープシーケンスの一切を使うことができないことになりますね。 (エスケープシーケンスを含む制御文字を使わせたくないときにそうするのでしょうか。)
[12]
空集合以外に ESCAPE
が割り当てられていない
C0集合はあるのでしょうか?
[13]
制御文字の頁の制御文字の一覧を見ると ISO-IR に登録された
C0集合はすべて ESCAPE
が割り当てられているようです。