Ctrl記号で曲折/カラットを使用するのはなぜですか?

Ctrl記号で曲折/カラットを使用するのはなぜですか?

私はずっと前にLinuxコンソールを使い始めましたが、キャレット(^)とも呼ばれる曲折記号について自分で質問したことはありません。なぜこの単語の代わりにこの単語が使用されるのかを尋ねたいと思いますCtrl

しばらく前にナノを作業しながらこのような質問が浮かんで、私もインターネットでいくつかの答えを探してみましたが、私が見つけたのは「それが何なのか」、「それが何を意味するのか」の質問だけでした。

何か歴史的な理由があるのでしょうか?それとも奇妙な習慣から来たのでしょうか?

答え1

曲折文字(^)は、テレタイプライターの上矢印文字と同じです。 SunOSなどが登場した時、この部分は10年以上も残っていました。同じ文字(代替)は、重複^(他の人が使用できる**)などの数学的表現に使用されます。 Pascalではポインタを表すためにも使用されます。

(少なくとも)1980年以前の制御文字を表すために使用されます。たとえば、DECドキュメントでその使用を見つけることができます(私がtecoを使用したときは1970年代半ばでした)。実用マニュアル1973年(927ページ)に1つの例がありますcontrolC

私が見つけた適切なソースを探しています。電信タイプライター通信コードGil Smithは1960年代後半にこれを書くのに十分でした(起源がUnix以前であるという証拠)。

ASCII-63は、デフォルトで現在のバージョンのASCII-67と同じです。制御文字(上記のcol-1)の定義は2つのバージョン間で異なり、以下に定義されています。また、ASCII-63では、RUB(0x7F)、ACK(0x7C)、およびESC(0x7E)の3つの位置を除いて、上位32の位置(col-4)は定義されていません。 ASCII-63では、ALT-MODE文字(0x7D)への参照が一貫していません。 1967年版ではRUBがDELとなって同じ位置に維持されたが、ACKとESCが制御文字領域(col-1)に移動された。 ASCII-67 では、^ は上矢印記号を置き換え、_ は左矢印記号を置き換えます。

ASCII-63とASCII-67はASCIIの一般的なバリエーションですが、いくつかの移行バージョンがあるようです。 Teletype Model 33のマニュアルには、SSがSUB(0x1A)に代わる1965年バージョンのASCIIへの参照があります。 @(0x40)で表され、〜は\(0x5C)で表され、奇数文字は|(0x7C)に置き換えられ、|は〜(0x7E)で表されます。 M33およびM35機械用テレタイプコードカードは1966年版のASCIIを表しますが、カードに表示される印刷可能文字はすべてのバージョンで同じです。

これは、異なるエンコーディング(ASCIIやEBCDICなど)間でファイルを交換するときに発生する問題のため、文字がASCIIに存在しなくなった後でも長い間矢印をレンダリングできるプリンタがまだ存在していたため、よく知られていました。

関連情報