C が最初に開発され使用されたとき、元のターゲットはPDP-11 ミニコンピューターでした。PDP-11 には 16 ビット プロセッサが搭載されていました。当時、ほとんどの入力は、テレタイプ端末またはテレプリンター端末(陰極線管ではなく印刷された紙を備えたキーボード) のいくつかのバージョンで行われていました。その後、紙タイプの端子に代わってDEC-VT100 端子などの陰極線管タイプの端子が導入されました。
これらの端末は、端末とホスト コンピュータ間で通信するためにケーブルを使用してホスト コンピュータに接続されていました。短いケーブルではRS-232 標準が使用され、25 ピンのうち 3 つ (送信、受信、および接地) のみを使用し、端末とホスト コンピュータ間のソフトウェア ハンドシェイクが行われました。RS-422 規格は、より長いケーブル配線に使用されました。直接接続のデータ転送速度は、通常 9600ボーまたは 14,400 ボーでした。
公衆交換電話網を使用してホスト コンピュータに到達するリモート ターミナルの場合、接続の両端でモデムを使用して、デジタル信号を音響信号に変換し、電話回線を介して送信するために変換しませんでした。端末のキーボードで入力された文字は、ケーブルを介してホスト コンピュータに送信されました。ほとんどのモデムは、事実上のヘイズ コマンド セット標準のいくつかのバリエーションを使用していました。
PDP-11 は、7 ビット コードを使用して各文字を表すASCII 文字セットを使用し、8 番目のビットは単純なパリティ エラー チェック プロトコルを実装するために使用されました。その後、欧州言語の文字を追加して拡張 ASCII 文字セットと ANSI 文字セット、およびCRT タイプのテキスト色を設定するためのANSI エスケープ コード シーケンスを開発するために、パリティ ビットを文字の一部として使用することによって ASCII 文字セットが拡張されました。が表示されます。
元の ASCII コードには、ベルを鳴らす、垂直および水平タブ、改行または行末などの端末制御に使用されるコードのセクションがありました。また、Start などの単純なプロトコルを作成するために使用されるコードもありました。停止コード。エスケープ文字を使用して、テキストの色の開始などの制御シーケンスの開始を示したり、ディスプレイ上の特定の行や列にカーソルを移動したりするデフォルトの標準の 1 つです。
最新のグラフィカル ユーザー インターフェイスでは、これらのほとんどはかなり古く、使用されていませんが、ANSI エスケープ コードをグラフィカル ウィンドウ内のさまざまな表示動作に変換するターミナル エミュレーターがまだあります。
したがって、Kerninghan と Ritchie が PDP-11 で C と Unix オペレーティング システムを開発していたとき、彼らは DEC PDP-11 命令セット、ASCII 文字セット、およびテレプリンターなどの PDP-11 周辺機器の環境内で作業していました。
そこで、テレプリンターのベルを鳴らし、テキスト行が印刷されるときにタイピング ヘッドを制御するために、特別な制御文字を文字列に埋め込む方法を備えた 8 ビット文字で構成されるテキスト文字列に自然に落ち着きました。