制御文字(せいぎょもじ)とは、ディスプレイ、プリンタ、通信装置などに対して、特別な動作(制御)をさせるために使う文字である。制御キャラクタともいう。制御文字にどのような文字コードを割り当てるかは、ASCII、EBCDICなどの文字コード体系により異なる。
制御文字の意味と使用例
-
NUL:空文字(NULl)
-
SOH:ヘッダ開始(Start Of Heading)
-
使用例:通信伝文中のヘッダ開始を表す。
-
STX:テキスト開始(Start of TeXt)
-
使用例:通信伝文中のテキスト部分の開始を表す。
-
ETX:テキスト終了(End of TeXt)
-
使用例:通信伝文中のテキスト部分の終了を表す。
-
EOT:伝送終了(End Of Transmission)
-
使用例:データ送信側がデータ送信終了時にデータ受信先にEOTを送る。
-
ENQ: 問い合わせ(ENQuiry)
-
使用例: データ送信側がデータ送信しようというときに、データ受信側にデータに先立ってENQを送る。データ受信先は、データ受信できる状態であればデータ送信側にACKを送り、データ受信できない状態であればNAKを送る。データ送信側はACKを受信した場合にデータを送り、NAKを受信した場合はデータ送信を断念したり時間を置いて再度ENQ送信するなどの処理を行なう。
-
ACK:肯定応答(ACKnowledge)
-
使用例:受信したデータにCRCなどの異常がない場合や、ENQを受信後にデータ受信ができる状態であれば、送信側にACKを送る。
-
BEL:ベル(BELI)
-
使用例:ディスプレイにベル音を鳴らす。
-
BS:1文字後退(Back Space)
-
使用例:カーソルのすぐ右の文字を消す。
-
HT:水平タブ(Horizontal Tabulation)
-
使用例:水平方向のタブ。テキストデータのデータの区切りに使うこともある。
-
LF:改行(Line Feed)
-
使用例:カーソルやプリンタを改行させる。
-
VT:垂直タブ(Vertical Tabulation)
-
-
FF:改ページ(Form Feed)
-
プリンタ用紙を改ページする。
-
CR:復帰(Carriage Return)
-
使用例:カーソルやプリンタのキャリッジ(インクのカードリッジをセットする部分)を左端に移動させる。
-
SO:シフトアウト(Shift Out)
-
-
SI:シフトイン(Shift In)
-
-
DLE:データリンク拡張(Data Link Escape)
-
使用例:バイナリ通信(データそのものに制御文字を含むような通信)であることを表すために使う。DLE自体をバイナリデータに含める場合はDLEを2つ重ねて送信する。データ受信側はDLEが2つ重ねられている場合は、DLEというバイナリデータ(制御文字でなく)を受信したと解釈する。こうしたことは、通常のアプリケーションでは意識しなくてもいいことが多い。しかし、プロトコロルアナライザなどで通信データを表示した場合、DLEが2つ重ねられていることを知らないと、おかしな通信データと誤解しかねない。
-
DC1:装置制御1(Device Control 1),XON
-
使用例:テキストデータ受信側が、テキスト送信側にテキスト送信の一時停止を求めるためDC1を送信する。DC1を受信したテキストデータ送信側は、DC3を受信するまでテキストデータの送信を一時停止する。
-
DC2:装置制御2(Device Control 2)
-
-
DC3:装置制御3(Device Control 3),XOFF
-
使用例:テキストデータ受信側が、DC1を使ったテキスト送信の一時停止を解除するため、テキスト送信側にDC3を送信する。なお、バイナリ通信ではDC1、DC3によるテキスト送信の一時停止やその解除は行なわない(バイナリ通信ではDC1、DC3は単なるバイナリデータであり、制御文字と解釈しないからである)。
-
DC4:装置制御4(Device Control 4)
-
-
NAK:否定応答(Negative AcKnowledge)
-
使用例:受信したデータにCRCなどの異常があった場合や、ENQを受信後にデータ受信ができる状態でないなら送信側にNAKを送る。
-
SYN:同期信号(SYNchronous idle)
-
使用例:キャラクタ同期方式の通信で、同期を取るために使う。
-
ETB:ブロック転送終了(End of Transmission Block)
-
使用例:通信電文の1ブロック(一連のまとまりのある複数の伝文)が終了したことを表す。
-
CAN:キャンセル(CANcel)
-
-
EM:媒体終端(End of Medium)
-
-
SUB:置換(SUBstitute character)
-
使用例:本来、置換という意味である。しかし、テキストファイルのファイル終端(EOF)を表すのによく使われる。
-
ESC:エスケープ(ESCape)
-
-
FS:ファイルセパレータ(File Separator)
-
-
GS:グループセパレータ(Group Separator)
-
-
RS:レコードセパレータ(Record Separator)
-
-
US:ユニットセパレータ(Unit Separator)
-
-
DEL:削除(DELete)
-
使用例:カーソルのすぐ右の文字を削除する。