Nel set di caratteri ASCII, 0-31 erano riservati come caratteri di controllo del dispositivo (da cui il tasto CTRL). 0 = Null, 1-26 = CTRL-A attraverso CTRL-Z, 27 = ESC, 28 - 31 Altri. 32 è il primo carattere stampabile essendo uno spazio " ".
American Standard Code for Information Interchange
Se guardi la lista, noterai che i caratteri "CTRL" facevano cose speciali, 8 = Backspace, 9 = Tab ecc, e dopo tutti i caratteri stampabili, 127 significa "Cancella".
Prima del "Protocollo Escape", il tasto Escape era la versione originale del tasto "Break", nel senso che Escape serviva per uscire dal programma corrente e saltare indietro alla console.
Quando l'ASCII fu sviluppato correttamente, il "carattere" ESC fu usato per indicare altri comandi non di stampa, ad esempio, ESC-B poteva attivare la stampa in grassetto. I set più comuni di codici ESC erano il set Epson (stampanti a matrice di punti) e il set Diablo (stampanti a ruota di margherita).
Perché IBM scelse di includere il tasto Escape e un tasto Break, originariamente CTRL-NUMLOCK, non lo so e mi sembra un po' ridondante.