置換文字
置換文字(ちかんもじ、英: substitute character、SUB)は、制御文字の一種である。
本来は、受信側において不明瞭な、または、無効な文字を受信したことを送信側に通知するのに用いる。しかし、下位レイヤで誤り検出訂正が行われるため、この用途で用いる必要はほぼなく、他の用途で用いられる。いくつかのオペレーティングシステムやプログラミング言語においてファイルの終端(EOF)を表すのによく使われる。
ASCIIとUnicodeでは十進数で26、十六進数で1Aに割り当てられている。キャレット記法では ^Z と表され、Unicodeでは制御文字の図形表現として ␚ (U+241A)が定義されている。
標準的なキーボードは、CtrlとZを同時に押すとこのコードを出力する。
CP/M ver.1およびver.2(およびそこから派生したMP/Mなど)では、CP/Mファイルシステム自体でファイルサイズを記録できなかったため、ファイルの終端がわかるようなマークをつける必要があった。CP/Mではファイルの末端に0x1Aをつけていた。CP/M ver.3以降(およびそこから派生したConcurrent CP/M, Concurrent DOS(英語版), DOS Plus(英語版)など)で使われた拡張CP/Mファイルシステムはバイト粒度のファイルに対応しているので、これは機能的には必須ではない、後方互換性のための単なる慣例となっていた。
CP/M、86-DOS、MS-DOS、PC DOS、DR-DOSおよびこれらの派生OSでも、文字ストリームの終端を示すのに0x1A(置換文字)が使われている。インタラクティブコマンドラインウインドウにおいてユーザ入力を終了させたり、COPY CON: TYPEDTXT.TXT のようなコンソールリダイレクションを終了させるのにも使われる。
もはやファイルの終端を示すことは技術的に要求されていないが、多くのテキストエディタやプログラミング言語は、ファイルの末端にこの文字を入れるか、入れるように設定することができる。