ASCII is a standard set of encoded characters that is deeply embedded in the world’s computing infrastructure and that of the Internet. These basic 128 characters have become a shorthand for the notion of “plain text” which is free of formatting and can be transported cleanly across platforms.
ASCII includes letters, numbers, and control characters (like ‘space’). Think of it like a set of keys on a typewriter, with each key mapped to an electronic pattern of bits. To be more specific, each key has a numerical value, and that number, translated to the ones and zeroes of binary code, occupies one of a limited set of slots available in 7 bits of data.
ASCII has roots in telegraphic codes, and was first developed in the 1960s. It became a key ingredient in early computing, was recorded on media like magnetic tape and punch cards, was utilized in UNIX, and on the nascent Internet. The name stands for “American Standard Code for Information Interchange,” which indicates its origins and limitations.
One of the key things to recognize about ASCII is its limited set of characters: it doesn’t include the Spanish ñ, much less support Hebrew or Chinese glyphs. “ASCII Extended” included more non-English characters, and other character sets have expanded further.
ASCII is not a markup language like HTML; it carries no structure or formatting information aside from the control characters. It’s just a standard protocol for the keys on your keyboard. In the early days, we might each have a different way of encoding a “B” or an “X” you typed into your keyboard, like people today running Android and iOS which can’t run the same software.
Other, larger character set encodings have come along and absorbed and extended ASCII, such as UTF-8, and word processing applications used by consumers feature enormous collections of characters that are far removed from ASCII, along with additional document formatting like underlining, bold text, italics and so on. But as anyone making everyday use of computers knows, you still have to make use of “plain text” frequently.
ASCII is a bit of Internet DNA that is still there, operating below the surface, translating text into digital patterns. It’s also relevant as an artifact of early Internet culture, in ASCII art and literature.
Sources / More reading:
There Ain’t No Such Thing as Plain Text, Coding Horror
You might find yourself Googling into ASCII when you’re pursuing a related topic: character entities. These are special characters that have to be replaced in HTML because HTML treats them with its own meaning, like “tag starts here” in the case of a less-than symbol. You can use them in handy ways, like putting symbols into your page using CSS. Here’s a chart of them.