Why You Need to Understand ASCII (2024)

By Xah Lee. Date: . Last updated: .

My Experience in Understanding ASCII Control Characters

here are ASCII Characters

as programer of high-level languages, I wasn't too familiar with ASCII for the first 20 years coding. Coding Mathematica starting in 1993. Then from 1998 to ~2007, i did java, perl, python, php. Still don't know ascii control sequence much, except line feed (aka newline), form feed, horizontal tab, carriage return.

But as you code more or touch low level issues, you have to know it well. e.g. even in JavaScript golang

why is ascii important? because when you do networking, protocols, terminal, IO, file encoding, or even syntax detail of programing languages, understanding ASCII control sequences becomes critical.

here's some issues related to ASCII.

note, ASCII is part of Unicode. In UTF-8 Encoding , any file in ASCII encoding is same with utf-8, if the file does not contain non-ascii chars such as ∑ α → 😂, and if you do not add a BOM, Byte Order Mark

note that, the need to understand ASCII is one thing, meanwhile, there are lots programers, typically mono-lang American, who have phobia towards any non-ascii character. They insist, that programing language source code should not contain ANY char that keyboard cannot type directly.

emacs dev Alan Mackenzie is one such person, and many others in emacs dev list. They, resulted a damage to emacs around 2016. So that now emacs function doc string has the complexity of going thru transformation, instead of “curly quote” directly.

ASCII Character Set Problems