ASCIIコードというか、制御文字。

制御文字の'^D'みたいな表記と、Ctrlキー押しながらDを押す、の関係が気になって調べてみた。

なお、印字可能文字のうち、"@"から始まる32文字については、ASCII値を64減じて対応する制御文字を求め、この制御文字を"コントロール+"(英:control+)という前置表現を付けた印字可能文字で表記する慣習がある。

例: BELコード(07)→"コントロール+G"(受信した側の機器で注意喚起音が鳴る)

この制御文字の表記方法は、キーボード上の印字可能文字キーを制御文字の送出に用いていた機器の名残りであると考えられる。(7ビット目を0にセットする専用キー(Ctrlキー)を、印字可能文字キーと同時に押して制御文字を送出)。

そんな関係性があったのか。単純にAから並べたのかと思ってた。*1

他にもこんな関係性が。

備考 : 大文字のASCII値に32を加えると小文字に変換することが出来る。この変換は、2進法では、6ビット目に1をセットするだけでよい。また、数字から48を減じれば、対応する値が得られる。この変換は、5ビット目及び6ビット目に0をセットするか、あるいは単純に上位4ビットを無視するだけでもよい。

結構考えられてるんだなぁ。大文字小文字を気にせず、って時は6ビット目を無視すればいいのか。*2


で、コントロールなんとか、と制御文字の関係。なぜかwikipedia日本語版には無くて英語版にはあったので、英語版を見ながら。
http://en.wikipedia.org/wiki/ASCII#ASCII_control_characters

^D
End of Transmission

微妙に違うような気もするけど。

^H
Backspace

これもここからなのかぁ。winXPのログイン時に使えてびっくりした。FC5だと使えなかった。

^I
Horizontal Tab

普通のタブ。

^J
Line feed

CRLFのLF。意味がちょっと違うような気もするけど、Emacsでよく使う。何かうまいこと改行してくれる。あとlispなのを実行したり。*3

^M
Carriage return

CRLFのCR。Enterキーと同じ意味らしい。Enter押せばいいじゃん、とか思うんだけど。

^Q
Device Control 1 (oft. XON)
^S
Device Control 3 (oft. XOFF)

聞いたことあるけど、よくわからん。

^[
Escape

*4
Emacsで Meta- な感じでよく使う。Escキー遠いよう。


結構あるんだなぁ、という印象。いや、普通にwindows使ってると、まったく関係ないけどさ。

*1:Aじゃないし。

*2:いいのか?!

*3:よくわからず使ってる。

*4:単純に^[を埋め込んだら、:が効かなかった。