What is ASCII?
ASCII (pronounced "ask-ee") stands for American Standard Code for Information Interchange. It's a character encoding standard that assigns numeric values (0-127) to letters, numbers, punctuation marks, and control characters.
ASCII is the foundation of text representation in computers and has been the backbone of digital communication since the 1960s.
Quick Facts
- Full Name: American Standard Code for Information Interchange
- Pronunciation: ASK-ee
- Character Range: 0-127 (7-bit encoding)
- Extended Range: 128-255 (8-bit, non-standard)
- First Published: 1963
- Current Standard: ANSI X3.4-1986, RFC 20
- Use Case: Text representation, data transmission, programming
ASCII Character Ranges
0-31: Control Characters
Non-printable characters used for text control and communication.
- NULL (0): Null character
- LF (10): Line feed (newline)
- CR (13): Carriage return
- ESC (27): Escape
- DEL (127): Delete
32-126: Printable Characters
Standard visible characters including letters, numbers, and symbols.
- 32-47: Space and punctuation
- 48-57: Digits 0-9
- 65-90: Uppercase A-Z
- 97-122: Lowercase a-z
- Special chars: !@#$%^&*() etc.
128-255: Extended ASCII
Non-standard extended characters (varies by implementation).
- International characters
- Special symbols
- Box-drawing characters
- Not part of standard ASCII
- Implementation-dependent
History of ASCII
1960: Work begins on ASCII by the American Standards Association (ASA).
1963: First ASCII standard published (ASA X3.4-1963).
1967: Major revision adds lowercase letters and refinements.
1986: Last major update (ANSI X3.4-1986), still in use today.
1990s-Present: ASCII becomes foundation for Unicode (UTF-8), which maintains backward compatibility with ASCII.
How ASCII Works
ASCII uses 7 bits to represent 128 different characters. Each character is assigned a unique decimal number from 0 to 127, which can also be expressed in binary, octal, or hexadecimal.
Example: The letter 'A'
Decimal: 65 | Binary: 01000001 | Octal: 101 | Hex: 41
Common ASCII Values
| Character |
Decimal |
Hex |
Description |
| Space |
32 |
0x20 |
Space character |
| 0 |
48 |
0x30 |
Digit zero |
| A |
65 |
0x41 |
Uppercase A |
| a |
97 |
0x61 |
Lowercase a |
| LF |
10 |
0x0A |
Line feed (newline) |
ASCII in Programming
ASCII is fundamental to programming. Most programming languages provide functions to convert between characters and their ASCII values.
Examples in Different Languages
// JavaScript
'A'.charCodeAt(0); // Returns: 65
String.fromCharCode(65); // Returns: 'A'
# Python
ord('A') # Returns: 65
chr(65) # Returns: 'A'
// C/C++
char c = 'A';
int ascii = (int)c; // Returns: 65
ASCII vs. Unicode
| Feature |
ASCII |
Unicode (UTF-8) |
| Characters |
128 (7-bit) |
1,114,112+ characters |
| Languages |
English only |
All world languages |
| Size |
1 byte per character |
1-4 bytes per character |
| Compatibility |
Limited to Latin alphabet |
Backward compatible with ASCII |
| Emojis |
Not supported |
Fully supported 😀 |
Important: UTF-8 (the most common Unicode encoding) is designed to be backward compatible with ASCII. The first 128 characters of UTF-8 are identical to ASCII, meaning any valid ASCII text is also valid UTF-8.
Practical Applications
- Text Files: Plain text files (.txt) typically use ASCII or UTF-8 encoding
- Programming: Source code files are often ASCII or ASCII-compatible
- Data Transmission: Email, HTTP, and many protocols use ASCII
- Terminal/CLI: Command-line interfaces rely on ASCII characters
- CSV Files: Comma-separated values typically use ASCII
- Configuration Files: Many config files use ASCII encoding
Fun Facts About ASCII
- The difference between uppercase and lowercase letters in ASCII is always 32 (e.g., 'A' = 65, 'a' = 97)
- This makes case conversion in ASCII very efficient with bitwise operations
- The '@' symbol was almost removed from ASCII but was kept due to its use in email addresses
- ASCII was designed with a focus on telecommunications and early computer systems
- The layout of ASCII was designed to make sorting and comparison operations efficient
- Control characters (0-31) were designed for teletype machines and early terminals
ASCII Art
ASCII art is a creative use of ASCII characters to create images and designs. It was particularly popular in the early days of computing when graphical displays were limited.
___ _____ _____ ___ ___
/ _ \ / ____/ ____|_ _|_ _|
| |_| | (___| | | | | |
| _ |\___ \ | | | | |
| | | |____) | |___ | |_| |_
|_| |_|_____/ \____|___|___|
Visual Reference
Related Standards
- Extended ASCII: 8-bit extensions (128-255) - not standardized, varies by code page
- ISO 8859-1 (Latin-1): Western European extension of ASCII
- UTF-8: Variable-width Unicode encoding, ASCII-compatible
- UTF-16: 16-bit Unicode encoding
- UTF-32: 32-bit Unicode encoding
Further Reading