伝送終了文字

電気通信において、伝送終了文字（でんそうしゅうりょうもじ、EOT: ）は制御文字の一つで、データ送信側がデータ受信先にデータ伝送の終了を伝えるために送る文字である。ここでいうデータには、1つ以上のテキストおよびメッセージのヘッダが含まれる。

EOTは、回線の解放、端末の切断、受信端末の待機状態への遷移などを開始する際によく使用される。最も一般的な使用法は、UNIXの端末ドライバにファイルの終端(End Of File)を知らせ、入力を待ち受けているプログラムを終了させることである。

ASCIIとUnicodeでは、EOTはに割り当てられている。これはで入力することができ、キャレット記法で^Dと表現される。Unicodeには、EOTの図形表現としてを提供している。また、もEOTの図形表現として使用される。

UNIXでの使用法 
LinuxなどのUNIX系OSにおけるCtrl-D(EOT)の使用法は、DOSにおいて類似の役割を持つCtrl-Z(SUB)とは異なる。DOSのCtrl-Zは、テキストがどこで終了するかを示すために、そのバイトが実際に送信またはファイルに記録される。それとは対照的に、UnixのCtrl-Dは、端末ドライバにファイルの終端を通知するのに使用されるだけで、ファイルや端末からCtrl-Dを読み取ったりそれを書き込んだりしても、特別な意味は持たない。

UNIXでは、end-of-file文字（デフォルトではEOT）によって、端末ドライバは入力バッファ内の全ての文字を直ちに利用可能状態にする。通常、ドライバはend-of-line文字（改行コード等）が現れるまで文字を収集する。入力バッファが空である場合（最後のend-of-line文字やend-of-file文字から文字が入力されていない場合）、端末から読み取るプログラムは0バイトを読み取る。UNIXでは、このような状態はファイルの終端に達したものとみなされる。

これは、UNIX系OSではcatプログラムで実証できる。引数なしでcatコマンドを実行すると、キーボードからの入力を受け付け、その内容を画面に出力する。以外の文字を入力し、最後にを押下する。その時点で入力された文字はcatコマンドに送られ、画面に書き込まれる。何も文字を入力せずにを押下すると、入力ストリームは終了し、プログラムは終了する。の後にを押下すると、EOTコードそのものが入力される。

端末ドライバがrawモードの場合、制御文字は端末ドライバでは解釈されなくなり、EOT文字がプログラムにそのまま送られる。プログラムはそれを自由に解釈できる。一般に、プログラムは、EOTバイトをテキストを終了するという指示として処理する。これは、DOSプログラムにおけるの挙動と同様である。

メインフレームコンピュータシステムの通信プロトコルでの使用法 

EOT文字は、IBM、バロース、BUNCHなどのメインフレームメーカーによるレガシーな通信プロトコルでも使用される。IBM 3270のPoll/Select、バロース TD830 Contention Modeプロトコルなどの端末送信制御プロトコルは、EOT文字を使用して、2つの協調して動作するコンピュータ（ホストマルチプレクサまたは入力/出力端末など）間の通信シーケンスを終了する。

単一のPoll（コンピュータにデータを要求する）操作やSelect（コンピュータにデータを送信する）操作は、ポーリングするコンピュータとポーリングされるコンピュータとの間の2回の往復送信応答動作を含み、最後に単一のEOT文字を開始側のコンピュータに送信する。

関連項目
制御文字
ASCII
ショートカットキー

脚注

制御文字