制御文字

コンピューティングと電気通信において、制御文字（せいぎょもじ、）とは、文字コードの規格で定義される文字のうち、ディスプレイ・プリンター・通信装置などに対して、特別な動作（制御）をさせるために使う文字である。制御キャラクタともいい、情報処理用語規格では「制御機能文字」と呼ばれている。

「文字」という名前であるがディスプレイやプリンターには表示されない。そのため、非表示文字（ひひょうじもじ、、印字不可文字）とも言う。それに対し、制御文字以外の表示可能な文字を図形文字（）という。図形文字と制御文字は電気信号上は区別がなく、同じデータストリーム上に現われる。これをという。

制御文字にどのような文字コードを割り当てるかは、ASCII、EBCDICなどの文字コード体系により異なる。ASCIIでは0から31および127が制御文字に割り当てられている（技術的にはこれをという）。ISO 8859で定義される拡張ASCIIでは、これに128から159までの制御文字を追加した。これはと呼ばれる。

これらの65個の制御文字はUnicodeに引き継がれた。Unicodeではさらに制御文字を追加しているが、これはゼロ幅非接合子のようなフォーマット用文字とは区別される。

EBCDICには、ASCIIの65個の制御文字全てのほか、主としてIBMの周辺機器を制御するための追加の制御文字が含まれている。

歴史

モールス符号のは、制御文字の一形態と言える。

1870年に制定されたBaudot Codeで、最初の制御文字 NUL と DEL が導入された。1901年にドナルド・マレーがキャリッジ・リターン (CR) とラインフィード (LF) を追加することを提案するなど、Baudot Codeには様々な制御文字が追加された。ベル文字は送信相手のベルを鳴らしてオペレータに通知するための文字で、初期のテレタイプ端末で追加された。

表現法
制御文字自体は表示できない文字であるため、それを別の方法で表現する必要がある。以下に、ASCIIのベル文字での例を示す。
 符号点: 十進法 7、十六進法 0x07
 略号（通常は3文字の大文字）: BEL
 略号で表した表示用の図形文字: Unicode U+2407 (␇), "symbol for bell"
 ISO 2047で定められた制御文字の記号: Unicode U+237E (⍾), "graphic for bell"
 キャレット記法（00xxxxxで表される制御文字について、10xxxxxの位置にある大文字のラテン文字とキャレットで表す方法）: ^G
 エスケープシーケンス（C言語などのprintf文で用いられる）: \a

ASCII
ASCIIの制御文字には以下のものを含む。

Unicode

Unicodeでは、制御文字は U+0000 - U+001F（C0制御コード）、U+007F（削除文字）、 U+0080 - U+009F（C1制御コード）である。これらのの名前は"Cc"である。フォーマット用コードはこれと区別して、一般カテゴリは"Cf"である。Ccの制御文字はUnicodeでは名前がついておらず、正式には"<control-001A>"のように表示される。

関連項目

脚注

注釈

出典

外部リンク 
 

文字コード