Ever wonder why the DEL (delete) character is shown as ^? if your terminal settings are messed up? Control characters are not arbitrary: the control key of a classic ASCII terminal was implemented as just (ASCII code of character typed) XOR 64. So ^A is 65 (ASCII 'A') XOR 64 = 1. ^@ is 64 XOR 64 = 0 (NUL), and ^? is 63 XOR 64 = 127 which is DEL. That's why not all punctuation characters have control-character equivalents. Early terminals didn't support lower case, so ^a is the same as ^A.