キャレット記法(キャレットきほう、英語: caret notation)とは、表示できない文字であるASCII制御文字を、表示できる文字だけで書き表すための方法である。

使用するのはキャレット (^) と大文字アルファベット基本ラテン文字)である。アルファベットの先頭(A)から1, 2, 3, ..., 26と番号を振り、それぞれの制御文字のASCIIにおける値を持つアルファベットを使用する。例えば、テキスト終結(ETX)のASCIIでの値は3なので、アルファベットで3文字目の C を使って ^C と表す。ヌル文字(NUL)のASCIIでの値は0で対応するアルファベットがないので、ASCIIでAの1つ前にある @ を使って ^@ と表す。削除文字(DEL)のASCIIでの値は127で対応するアルファベットがないが、通常は ^? と表す。これは、ASCIIで ? が @ の1つ前でこれを「アルファベットの-1番目」とみなし、-1を8ビットの2の補数を使用して表したもの(二進数で11111111)を7ビットでマスクすると127になるからである。

多くのコンピュータシステムでは、コントロールキーとともにキャレット記法で使われるアルファベットを押すと、対応する制御文字を発生するようになっている。これは、ほとんどの制御文字をキーボードで直接入力することができないためである。制御文字を表す方法は他にもあるが、この仕様があるため、キャレット記法が最もよく使われる。

キャレット記法は多くのプログラムで使われている(例えば、UNIXの端末ドライバや、morelessなどのテキストビューワ)。

関連項目

編集