コンピューティングと
電気通信において、制御
文字(control character)とは、
文字コード規格で定義される特殊な
文字であり、ディスプレイ、
プリンター、通信装置などの機器に対して、特定の動作(制御)を指示するために用いられます。これらの
文字は、画面に表示されないため、非表示
文字(non-printing character)とも呼ばれます。情報処理の規格では「制御機能
文字」とも定義されています。制御
文字に対して、表示可能な
文字は図形
文字(graphic character)と呼ばれます。
制御
文字と図形
文字は、電気信号上は区別がなく、同じデータストリーム上に存在します。この方式を帯域内信号方式と呼びます。
制御
文字にどの
文字コードを割り当てるかは、
ASCII、
EBCDICなど
文字コード体系によって異なります。
ASCIIでは、0から31までのコードと127が制御
文字として割り当てられており(C0制御コード)、拡張
ASCIIでは128から159までのコードが追加されました(C1制御コード)。
これらの制御
文字は
Unicodeにも引き継がれており、
Unicodeではさらに制御
文字が追加されています。ただし、これらはゼロ幅非接合子のようなフォーマット用
文字とは区別されます。
EBCDICには、
ASCIIの制御
文字に加え、IBM周辺機器制御用の制御
文字が含まれます。
歴史
制御
文字の概念は、初期の通信技術にまで遡ります。
モールス符号の交信略号は、制御
文字の一種と見なすことができます。1870年に制定された
Baudot Codeでは、最初の制御
文字であるNULとDELが導入されました。その後、1901年にはドナルド・マレーによってキャリッジリターン(CR)とラインフィード(LF)が追加されました。
ベル
文字は、送信先のオペレーターに通知するためにベルを鳴らす目的で、初期の
テレタイプ端末に追加されました。これらの歴史的背景から、制御
文字が通信技術において重要な役割を果たしてきたことがわかります。
表現法
制御
文字は、通常の方法では表示できないため、代替表現を用いる必要があります。
ASCIIのベル
文字を例に説明します。
これらの表現法により、制御
文字をテキストとして扱うことができます。
ASCIIの制御
文字には、以下のようなものが含まれます。
- - NUL (Null): データなし
- - SOH (Start of Heading): ヘッディング開始
- - STX (Start of Text): テキスト開始
- - ETX (End of Text): テキスト終了
- - EOT (End of Transmission): 伝送終了
- - ENQ (Enquiry): 照会
- - ACK (Acknowledge): 肯定応答
- - BEL (Bell): ベル
- - BS (Backspace): バックスペース
- - HT (Horizontal Tab): 水平タブ
- - LF (Line Feed): 改行
- - VT (Vertical Tab): 垂直タブ
- - FF (Form Feed): フォームフィード
- - CR (Carriage Return): 復帰
- - SO (Shift Out): シフトアウト
- - SI (Shift In): シフトイン
- - DLE (Data Link Escape): データリンクエスケープ
- - DC1 (Device Control 1): デバイス制御1
- - DC2 (Device Control 2): デバイス制御2
- - DC3 (Device Control 3): デバイス制御3
- - DC4 (Device Control 4): デバイス制御4
- - NAK (Negative Acknowledge): 否定応答
- - SYN (Synchronous Idle): 同期アイドル
- - ETB (End of Transmission Block): 伝送ブロック終了
- - CAN (Cancel): キャンセル
- - EM (End of Medium): メディア終了
- - SUB (Substitute): 代用
- - ESC (Escape): エスケープ
- - FS (File Separator): ファイル区切り
- - GS (Group Separator): グループ区切り
- - RS (Record Separator): レコード区切り
- - US (Unit Separator): ユニット区切り
- - DEL (Delete): 削除
Unicodeでは、制御
文字は以下の範囲にあります。
- - U+0000 - U+001F: C0制御コード
- - U+007F: 削除文字
- - U+0080 - U+009F: C1制御コード
これらの制御
文字は、一般カテゴリとして「Cc」に分類されます。フォーマット用のコードは、「Cf」として区別されます。
Unicodeでは、Ccの制御
文字には名前がなく、正式には「<control-001A>」のように表示されます。
関連項目
脚注
外部リンク