What is ASCII? The Intuition First
Computers don't understand letters, words, or punctuation. They only understand numbers — specifically, 0s and 1s. So when you type the letter 'A' on your keyboard, the computer has to convert that 'A' into a number it can work with. The question is: which number should 'A' become? And who decides?
That's where ASCII comes in.
Think of it like a giant lookup table. Every character you can type — every uppercase letter, lowercase letter, digit, punctuation mark, and even invisible control characters like "Enter" or "Tab" — is assigned a unique number. ASCII is simply the agreement that says: "When I type 'A', the computer will store the number 65. When I type 'B', it stores 66. And so on."
Without this agreement, one computer might store 'A' as 1, another as 97, and they'd never be able to exchange text. ASCII was the first widely adopted standard that solved this problem.
The Precise Statement
ASCII stands for American Standard Code for Information Interchange.
It is a 7-bit character encoding standard. That means each character is represented by a 7-digit binary number, giving 27=128 possible characters (0 through 127).
These 128 characters are divided into:
- 0–31: Control characters (non-printable) — things like backspace (8), tab (9), line feed (10), carriage return (13), escape (27). These tell the computer to perform an action, not to display a symbol.
- 32: Space (the first printable character)
- 33–47: Punctuation and symbols:
! " # $ % & ' ( ) * + , - . /
- 48–57: Digits
0 through 9
- 58–64: More punctuation:
: ; < = > ? @
- 65–90: Uppercase letters
A through Z
- 91–96: More punctuation: `[ \ ] ^ _ ``
- 97–122: Lowercase letters
a through z
- 123–126: Remaining punctuation:
{ | } ~
- 127: Delete (control character)
A useful memory trick: 'A' is 65, 'a' is 97. The difference between any uppercase letter and its lowercase version is exactly 32. So 'A' (65) + 32 = 'a' (97). This was deliberately designed so that flipping one bit in the binary representation converts between cases.
Why 7 Bits? Why Not 8?
You might wonder: if computers work with 8-bit bytes, why use only 7 bits? The answer is historical. ASCII was developed in the 1960s, when 7-bit was standard for teletype machines and data transmission. The 8th bit was often used as a parity bit for error checking — a simple way to detect if data got corrupted during transmission.
Later, when 8-bit bytes became universal, the extra 128 positions (128–255) were used for "extended ASCII" — accented letters, mathematical symbols, and box-drawing characters. But these extensions were never standardized the way the original 128 were, which is why different systems (like Windows vs. old Macs) sometimes displayed them differently.
A Quick Reference Table
Here are the most commonly tested ASCII values for exams:
| Character | Decimal | Binary |
|---|
| (null) | 0 | 0000000 |
| (space) | 32 | 0100000 |
| 0 | 48 | 0110000 |
| 1 | 49 | 0110001 |
| 9 | 57 | 0111001 |
| A | 65 | 1000001 |
| B | 66 | 1000010 |
| Z | 90 | 1011010 |
| a | 97 | 1100001 |
| b | 98 | 1100010 |
| z | 122 | 1111010 |
A common exam mistake: confusing the ASCII value of '0' (the character) with the number 0. The character '0' has ASCII value 48, not 0. The number 0 (null character) is a control character, not the digit zero.
Why ASCII Matters Today
ASCII is the foundation of almost every text encoding you use. When you send an email, the text is first converted to ASCII (or its modern superset, Unicode). When you write code, the source file is stored in ASCII or UTF-8 (which is backward-compatible with ASCII for the first 128 characters). Even the internet protocols that deliver this page to you — HTTP, TCP/IP — rely on ASCII for their headers and commands.
The full form — American Standard Code for Information Interchange — tells you exactly what it is: an American standard (developed by the American National Standards Institute, ANSI) that provides a code for interchanging information between different machines.
ASCII = American Standard Code for Information Interchange. It maps 128 characters to numbers 0–127 using 7 bits. It is the ancestor of all modern text encodings.