EM (End of Medium) is ASCII code point 25 (0x19), Unicode U+0019. It is a C0 control character that marked the physical end of usable storage on a paper tape, punched card deck, or magnetic tape reel — telling the reader to stop because no valid data followed. Ctrl+Y emits 0x19, and DOS repurposed that keystroke as a "copy from template" editing function in its command-line input buffer. In modern contexts EM has no standard protocol role, but it occasionally surfaces in embedded systems as a custom end-of-data sentinel in firmware update streams or flash memory layouts where a lightweight boundary marker is needed without introducing a full framing protocol. UTF-8 encodes it as the single byte 0x19; Unicode classifies it as Cc (Control) with the alias END OF MEDIUM.
char msg[] = "HDR\x19BODY\x19TRL";// EM (0x19) acts as an in-band boundarychar *p = strtok(msg, "\x19"); // iterate segments: HDR, BODY, TRL
EM (ASCII 25) originally signaled the physical end of a storage medium — the last usable spot on a paper tape or magnetic strip. It told the reader 'there's no more data beyond this point, even if there are more bytes.'
Not in its original sense. Physical media no longer use marker bytes to signal their end — file systems and length headers handle that. You might encounter EM in legacy data formats or when analyzing old archived data.
Ctrl+Y sends EM (ASCII 25). In modern terminals this is usually intercepted for 'redo' or 'yank' (paste from kill ring in emacs-style line editing), so the raw EM byte almost never reaches programs.
Strip it. EM is a non-printable control character with no standard meaning in modern text processing. If it appears in user-submitted content, it's unintentional or potentially malicious. Include it in your control character sanitization filter.