== Link: ASCII table and history (Or, why does Ctrl+i insert a Tab in my terminal?) [[This ASCII table page https://bestasciitable.com/]] ([[via https://lobste.rs/s/1ko0ir/ascii_table_history_why_does_ctrl_i_insert]]) answers the question it poses in its title, and the answer is quite interesting. I have [[a long standing interest in this area ../unix/OddControlCharacters]], and this page's table explains things like why Ctrl-@ is a common way to generate a 0 byte. The table also makes it clear that at least one case is handled specially, that of Ctrl-? often being DEL. So now that I look at it, the table is interesting reading, not just the history. (The straightforward implementation of Ctrl masks off bit 7, or perhaps bits 6 and 7, which turns @, binary 10 00000, into binary 00 00000 and thus gives you NUL. But you cannot go from ?, binary 01 11111, to DEL, binary 11 11111, by masking off bits; you have to turn on a bit instead. And notice that it is common to make ``Ctrl-_'' generate byte 31, so we have binary 10 11111 turning into binary 00 11111 through masking, so this is not a general special treatment when the low five bits are 11111.) PS: There's also [[this version of a four column ASCII table FourColumnASCII]], but it doesn't have the history and doesn't look as nice as this new one.