BS (Backspace) is ASCII code point 8 (0x08), Unicode U+0008. It is a C0 control character that originally stepped a teleprinter carriage one position left without erasing — enabling overprinting tricks like underlining by combining a letter, BS, and an underscore. Modern terminals treat it inconsistently: VT-series emulators move the cursor left but don't delete, while most shells actually bind Backspace to DEL (0x7F) instead. That BS-vs-DEL split is why stty erase and readline configurations still trip people up in SSH sessions today. UTF-8 encodes it as the single byte 0x08; Unicode classifies it as Cc (Control) with the alias BACKSPACE.
char line[] = "ERRR\b\b\bOK";// \b (0x08) can “erase” on some terminalsfputs(line, stdout);fflush(stdout);
Historically, no — ASCII Backspace (code 8) just moves the cursor one position left without erasing anything. Modern terminals interpret it as 'move left and delete,' but that's a convention, not what the character inherently does.
When a terminal is in raw mode, it shows the literal control character instead of acting on it. ^H is the caret notation for ASCII 8. You'll see this in misconfigured SSH sessions or when the TERM variable doesn't match your emulator.
Backspace (ASCII 8) erases the character behind the cursor; Delete (ASCII 127) erases the character under or ahead of it. The distinction matters in terminal line editing, where each maps to a different escape sequence.
Yes. In log files and terminal output, injected Backspace bytes can overwrite visible text, making malicious commands look innocent. This is why security-conscious systems strip control characters from logs and user-facing displays.