You’ve probably heard of ASCII and have some vague idea of what it is. Well, in this post, we’d like to give you a quick summary of what ASCII really is.
When you type text on a computer (such as letters, punctuation marks, etc) this text is converted into a numerical representation. Ultimately everything on a computer is represented in binary (0s and 1s) and text is no different. Every character you type has its own unique binary representation. The exact representation of a particular character depends on what character set and encoding is used. There are many character sets and encodings that a typical computer supports – ASCII is one of the earliest and all modern computers support ASCII.
You might be familiar with the ASCII table, which basically maps letters, numbers, punctuation marks, and non printable characters to a series of decimal numbers from 0 to 127 (that’s 0 to 127 inclusive or 128 characters). These 128 characters form the character set of ASCII – their numeric representation forms the encoding component of ASCII. In other words, a character set defines the set of possible characters and an encoding defines how each of these characters are numerically represented. The ASCII standard defines both. Converting the decimal representation of a character to binary will give you the actual internal representation of this character.
Although ASCII was at one point the dominant standard for documents, web pages, etc, it is rarely used today. Instead most modern documents and web pages use the Unicode character set along with the UTF-8 encoding. The primary problem with ASCII is that it only defines 128 characters. While this is enough for the Latin alphabet (English) it is not nearly enough for other languages, and other characters such as emoji. Unicode on the other hand is built to support over a million characters, and using Unicode one can combine English text, Chinese characters, and emoji all in the same document.
We hope that this has given you a basic understanding of ASCII! Tune in next time for more textually awesome information.