A substitute character (␚) is a control character that is used in the place of a character that is recognized to be invalid or erroneous, or that cannot be represented on a given device. It is also used as an escape sequence in some programming languages.
In the ASCII and Unicode character sets, this character is encoded by the number 26 (1A hex). Standard keyboards transmit this code when the Ctrl and Z keys are pressed simultaneously (Ctrl+Z, by convention often described as ^Z).
Historically, under early PC CP/M 1 and 2 operating systems (and derivatives like MP/M) it was necessary to explicitly mark the end of a file (EOF) because the CP/M filesystem could not record the exact file size by itself; files were allocated in extents (records) of a fixed size, typically leaving some allocated but unused space at the end of each file. This extra space was filled with 1A hex characters under CP/M. The extended CP/M filesystems used by CP/M 3 and higher (and derivatives like Concurrent CP/M, Concurrent DOS and DOS Plus) did support byte-granular files, so this was no longer a physical requirement but a mere convention (especially for text files) in order to ensure backward compatibility.