Why You Need to Understand ASCII (2024)
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
- ASCII Characters
- Unicode: ASCII Control Characters ␀
- Why You Need to Understand ASCII (2024)
- Programing Language: ASCII Char Jam vs Unicode
- Emacs Lisp Doc String Curly Quote Controversy (2015)
- Linux: Terminal Control Sequence Keys
- Stack Overflow offline page 2011-08-06
- Emacs: Newline Convention
- Emacs Key Notations Explained (/r, ^M, C-m, RET, <return>, M-, meta)