· VD · Computer Science · 4 min read
Introduction to ASCII: How Computers Learned to Speak English
Ever wondered how a computer knows that "A" is different from "B" when all it sees are zeros and ones? This is the story of ASCII, the translator that changed everything.

The Great Language Barrier
Imagine it is the early 1960s. Computers are the size of rooms, and they are incredibly stubborn. They only speak one language: Mathematics. To a computer, everything is a number—specifically, a series of electrical pulses that we represent as 0s and 1s (Binary).
But humans are different. We speak in letters, words, and sentences. We use punctuation and symbols.
Back then, if you wanted to tell a computer “HELLO,” you couldn’t just type it. Every computer manufacturer had their own “secret code” for representing letters. An IBM machine might think ‘A’ was 12, while a DEC machine might think ‘A’ was 45. It was chaos! If you tried to send a file from one computer to another, it would look like gibberish.
The Peace Treaty: ASCII is Born
In 1963, a group of engineers decided it was time for a “Peace Treaty.” They formed a committee to create a standard language that every computer could agree on.
They called it ASCII (pronounced ASK-ee), which stands for American Standard Code for Information Interchange.
Their mission was simple: Assign a specific, unique number to every character a human might need to type.
How the Secret Code Works
Think of ASCII like a giant restaurant menu. Instead of shouting “I want a Pizza,” you just say “Number 15.” As long as the waiter and the customer have the same menu, there are no mistakes.
In ASCII:
- The letter ‘A’ was assigned the number 65.
- The letter ‘B’ was assigned 66.
- The lowercase ‘a’ was assigned 97.
When you type ‘A’ on your keyboard today, the keyboard controller doesn’t send an ‘A’ to the CPU. It sends the number 65. The computer looks at its “ASCII Menu,” sees that 65 means ‘A’, and displays it on your screen.
The ASCII Table: The Universal Map
The original ASCII was a 7-bit code, meaning it could hold $2^7 = 128$ different characters (numbered 0 to 127). Here is how they divided the map:
1. The Secret Signals (0 - 31)
These are “Control Characters.” You can’t see them on the screen. They were used to tell old printers what to do.
- 10 (Line Feed): “Move the paper up one line.”
- 13 (Carriage Return): “Move the print head back to the start of the line.”
- 7 (Bell): “Make a ‘ding’ sound!“
2. The Special Symbols (32 - 47)
- 32: The Space bar (yes, even a space needs a number!)
- 33 - 47: Symbols like
! " # $ % & ' ( ) * + , - . /
3. The Numbers (48 - 57)
Interestingly, the number ‘0’ is not represented by the value 0. It is represented by 48.
4. The Big Letters (65 - 90)
This is where the Uppercase Alphabet lives.
- 65: A
- 90: Z
5. The Small Letters (97 - 122)
The Lowercase Alphabet.
- 97: a
- 122: z
The Complete ASCII Table (0-127)
Here is the full map that computers use to translate numbers into characters.
| Dec | Char | Description | Dec | Char | Description |
|---|---|---|---|---|---|
| 0 | NUL | Null | 64 | @ | At sign |
| 1 | SOH | Start of Heading | 65 | A | Uppercase A |
| 2 | STX | Start of Text | 66 | B | Uppercase B |
| 3 | ETX | End of Text | 67 | C | Uppercase C |
| 4 | EOT | End of Transmission | 68 | D | Uppercase D |
| 5 | ENQ | Enquiry | 69 | E | Uppercase E |
| 6 | ACK | Acknowledge | 70 | F | Uppercase F |
| 7 | BEL | Bell (Ding!) | 71 | G | Uppercase G |
| 8 | BS | Backspace | 72 | H | Uppercase H |
| 9 | TAB | Horizontal Tab | 73 | I | Uppercase I |
| 10 | LF | Line Feed (New Line) | 74 | J | Uppercase J |
| 11 | VT | Vertical Tab | 75 | K | Uppercase K |
| 12 | FF | Form Feed | 76 | L | Uppercase L |
| 13 | CR | Carriage Return | 77 | M | Uppercase M |
| 14 | SO | Shift Out | 78 | N | Uppercase N |
| 15 | SI | Shift In | 79 | O | Uppercase O |
| 16 | DLE | Data Link Escape | 80 | P | Uppercase P |
| 17 | DC1 | Device Control 1 | 81 | Q | Uppercase Q |
| 18 | DC2 | Device Control 2 | 82 | R | Uppercase R |
| 19 | DC3 | Device Control 3 | 83 | S | Uppercase S |
| 20 | DC4 | Device Control 4 | 84 | T | Uppercase T |
| 21 | NAK | Negative Acknowledge | 85 | U | Uppercase U |
| 22 | SYN | Synchronous Idle | 86 | V | Uppercase V |
| 23 | ETB | End of Trans. Block | 87 | W | Uppercase W |
| 24 | CAN | Cancel | 88 | X | Uppercase X |
| 25 | EM | End of Medium | 89 | Y | Uppercase Y |
| 26 | SUB | Substitute | 90 | Z | Uppercase Z |
| 27 | ESC | Escape | 91 | [ | Left Bracket |
| 28 | FS | File Separator | 92 | \ | Backslash |
| 29 | GS | Group Separator | 93 | ] | Right Bracket |
| 30 | RS | Record Separator | 94 | ^ | Caret |
| 31 | US | Unit Separator | 95 | _ | Underscore |
| 32 | [Sp] | Space | 96 | ` | Grave Accent |
| 33 | ! | Exclamation mark | 97 | a | Lowercase a |
| 34 | ” | Double quotes | 98 | b | Lowercase b |
| 35 | # | Hash | 99 | c | Lowercase c |
| 36 | $ | Dollar sign | 100 | d | Lowercase d |
| 37 | % | Percent | 101 | e | Lowercase e |
| 38 | & | Ampersand | 102 | f | Lowercase f |
| 39 | ’ | Single quote | 103 | g | Lowercase g |
| 40 | ( | Left parenthesis | 104 | h | Lowercase h |
| 41 | ) | Right parenthesis | 105 | i | Lowercase i |
| 42 | * | Asterisk | 106 | j | Lowercase j |
| 43 | + | Plus sign | 107 | k | Lowercase k |
| 44 | , | Comma | 108 | l | Lowercase l |
| 45 | - | Minus sign | 109 | m | Lowercase m |
| 46 | . | Period | 110 | n | Lowercase n |
| 47 | / | Slash | 111 | o | Lowercase o |
| 48 | 0 | Zero | 112 | p | Lowercase p |
| 49 | 1 | One | 113 | q | Lowercase q |
| 50 | 2 | Two | 114 | r | Lowercase r |
| 51 | 3 | Three | 115 | s | Lowercase s |
| 52 | 4 | Four | 116 | t | Lowercase t |
| 53 | 5 | Five | 117 | u | Lowercase u |
| 54 | 6 | Six | 118 | v | Lowercase v |
| 55 | 7 | Seven | 119 | w | Lowercase w |
| 56 | 8 | Eight | 120 | x | Lowercase x |
| 57 | 9 | Nine | 121 | y | Lowercase y |
| 58 | : | Colon | 122 | z | Lowercase z |
| 59 | ; | Semicolon | 123 | { | Left Brace |
| 60 | < | Less than | 124 | | | Vertical Bar |
| 61 | = | Equals sign | 125 | } | Right Brace |
| 62 | > | Greater than | 126 | ~ | Tilde |
| 63 | ? | Question mark | 127 | DEL | Delete |
Why Does It Still Matter?
You might think, “Sir, 128 characters isn’t enough for the whole world! What about Emojis? What about Hindi or Gujarati script?”
You are right! Today, we use Unicode (specifically UTF-8), which can hold over a million characters. But here is the cool part: The first 128 characters of Unicode are exactly the same as the original ASCII.
ASCII is the foundation. It was the first time humans agreed on a way to turn our thoughts and words into the numbers that computers love.
Every time you send a text, write a line of code, or read this blog post, you are using a legacy that started with a few engineers and a simple table of numbers back in 1963.
Want to dive deeper into Computer Science?
At VD Computer Tuition, we don’t just teach you how to code; we teach you how computers actually work. Understanding foundations like ASCII makes you a much better programmer when you move to languages like Python or Java.
Explore our Computer Science courses in Surat or Join a Trial Class.

