ASCII American Standard Code for Information Interchange

Introduction

In the digital world, computers don’t understand letters or symbols like humans do. Instead, they rely on codes to process information. One such code, ASCII (American Standard Code for Information Interchange), has been a cornerstone of digital communication since the 1960s. Let’s break down what ASCII is, why it matters, and how it works in plain, easy-to-understand language.


What is ASCII?

Pronounced “ask-ee”, ASCII is a 7-bit character encoding standard that assigns unique numbers to letters, digits, punctuation, and control characters. Developed in 1967, it became the backbone of text representation in computers and telecommunication devices.

Key Facts About ASCII:

  • 7-bit system: Allows 128 unique characters (0–127).
  • 95 printable characters: Includes A-Z (uppercase and lowercase), 0-9, and symbols like @, #, and &.
  • 33 non-printable control characters: Used for device commands (e.g., “Backspace” or “Enter”).

The standard evolved over time, with updates in 1968, 1977, and 1986. While newer systems use advanced encoding like Unicode, ASCII remains fundamental to tech history.


Why Do We Need ASCII?

Imagine typing “Hello!” on your phone. To a computer, this text is meaningless—it only understands binary (0s and 1s). ASCII acts as a translator:

  1. Converts human-readable text into numbers (ASCII values).
  2. Translates those numbers into binary for processing.

For example, “Hello!” becomes:

  • H (72), e (101), l (108), l (108), o (111), ! (33).
    These values are then converted to binary and sent across devices.

Categories of ASCII Characters

ASCII characters are divided into three groups:

  1. Control Characters (0–31 & 127):
    • Non-printable commands like Backspace (8) or Delete (127).
    • Used for formatting (e.g., Tab or Line Feed).
  2. Printable Characters (32–126):
    • Includes spaces, letters, numbers, and common symbols.
    • Example: “A” (65), “z” (122), “$” (36).
  3. Extended ASCII (128–255):
    • Adds symbols like ©, €, and accented letters (e.g., ñ, é).
    • Not standardized globally, leading to variations like Windows-1252.

The Extended ASCII Codes (character code 128-255)

Here’s a reorganized and paraphrased table for Extended ASCII (128-255) based on the Windows-1252 (CP-1252) standard. Differences from ISO-8859-1 in codes 128-159 are noted with an asterisk (*).


DECBINSymbolHTML NumberHTML NameDescription
12810000000€€Euro currency symbol*
12910000001Reserved/unused
13010000010‚‚Single low-9 quotation mark*
13110000011ƒƒƒLowercase italic f (florin symbol)*
13210000100„„Double low-9 quotation mark*
13310000101……Horizontal ellipsis (…)
13410000110††Dagger (cross symbol)
13510000111‡‡Double dagger
13610001000ˆˆˆCircumflex accent modifier*
13710001001‰‰Per mille (per thousand) sign
13810001010ŠŠŠUppercase S with caron*
13910001011‹‹Left single angle quote*
14010001100ŒŒŒUppercase OE ligature*
14110001101Reserved/unused
14210001110ŽŽŽUppercase Z with caron*
14310001111Reserved/unused
14410010000Reserved/unused
14510010001‘‘Left single quotation mark*
14610010010’’Right single quotation mark*
14710010011““Left double quotation mark*
14810010100””Right double quotation mark*
14910010101••Bullet point
15010010110––En dash (shorter dash)
15110010111——Em dash (longer dash)
15210011000˜˜˜Small tilde accent*
15310011001™™Trademark symbol*
15410011010šššLowercase s with caron*
15510011011››Right single angle quote*
15610011100œœœLowercase oe ligature*
15710011101Reserved/unused
15810011110žžžLowercase z with caron*
15910011111ŸŸŸUppercase Y with diaeresis*
16010100000  Non-breaking space
16110100001¡¡¡Inverted exclamation mark
16210100010¢¢¢Cent sign
16310100011£££British pound symbol
16410100100¤¤¤Generic currency sign
16510100101¥¥¥Yen/Renminbi symbol
16610100110¦¦¦Broken vertical bar
16710100111§§§Section symbol (§)
16810101000¨¨¨Umlaut/diaeresis spacing
16910101001©©©Copyright symbol
17010101010ªªªFeminine ordinal indicator (Spanish/Portuguese)
17110101011«««Left-pointing double angle quote
17210101100¬¬¬Logical negation symbol
17310101101­­­Soft hyphen (discretionary hyphenation)
17410101110®®®Registered trademark symbol
17510101111¯¯¯Macron accent (overline)
25511111111ÿÿÿLowercase y with diaeresis

Notes:

  • Codes 128–159* replace ISO-8859-1 control characters with printable symbols in Windows-1252.
  • 160–255 align with ISO-8859-1 (Latin-1).
  • Unused/reserved codes are marked as such.
  • HTML entities follow standard naming conventions.

(Table condensed for brevity. Rows 176–254 follow standard Latin-1 patterns for symbols, letters, and punctuation.)


ASCII Control Characters (Non-Printable Codes 0–31, 127)

DecimalHexAbbreviationFull NameDescription/Purpose
00x00NULNullEmpty placeholder for padding/reserved space.
10x01SOHStart of HeadingMarks the start of a header in data transmission.
20x02STXStart of TextIndicates the start of a text stream.
30x03ETXEnd of TextMarks the end of a text stream.
40x04EOTEnd of TransmissionSignals the end of a transmission.
50x05ENQEnquiryRequests acknowledgment from a receiver.
60x06ACKAcknowledgeConfirms receipt of a message.
70x07BELBellTriggers an audible or visual alert (e.g., beep).
80x08BSBackspaceMoves the cursor backward one space.
90x09HTHorizontal TabAdvances the cursor to the next tab stop.
100x0ALFLine FeedMoves the cursor to the next line.
110x0BVTVertical TabAdvances the cursor down to the next vertical tab.
120x0CFFForm FeedInstructs a printer to start a new page.
130x0DCRCarriage ReturnReturns the cursor to the start of the line.
140x0ESOShift OutSwitches to an alternative character set.
150x0FSIShift InReturns to the default character set.
160x10DLEData Link EscapeAlerts devices to interpret the next character as data.
170x11DC1Device Control 1Reserved for device-specific functions (e.g., XON).
180x12DC2Device Control 2Device control (e.g., activate a feature).
190x13DC3Device Control 3Reserved for device-specific functions (e.g., XOFF).
200x14DC4Device Control 4Device control (e.g., stop a function).
210x15NAKNegative AcknowledgeIndicates an error in transmission.
220x16SYNSynchronous IdleMaintains synchronization in data streams.
230x17ETBEnd of Transmission BlockMarks the end of a block of data.
240x18CANCancelAborts an ongoing operation or transmission.
250x19EMEnd of MediumIndicates the physical end of storage media.
260x1ASUBSubstituteReplaces invalid/errored characters in a stream.
270x1BESCEscapeInitiates control sequences (e.g., ANSI escape codes).
280x1CFSFile SeparatorSeparates logical file sections.
290x1DGSGroup SeparatorSeparates logical data groups.
300x1ERSRecord SeparatorSeparates logical data records.
310x1FUSUnit SeparatorSeparates the smallest logical data units.
1270x7FDELDeleteOriginally for deleting characters (not a control character in ASCII).

Notes:

  • 0–31 are non-printable control codes used for device communication (e.g., printers, terminals).
  • 127 (DEL) is technically part of the extended ASCII set but often grouped with control codes.
  • Hex values are included for clarity in programming and data protocols.
  • Many of these codes are obsolete in modern systems but remain relevant in legacy protocols.

This table avoids duplication, standardizes terminology, and adds context for clarity. Let me know if further adjustments are needed!


ASCII Table: Printable & Extended Characters

Here’s a simplified overview of ASCII values:

DecimalBinarySymbolDescription
3200100000[Space]Non-printable space
6501000001AUppercase A
9701100001aLowercase a
12601111110~Tilde
16910101001©Copyright symbol
23311101001éAccented e (French)

Extended ASCII Example: The Euro sign (€) uses code 128, while “ñ” is 241.


ASCII vs. Unicode: What’s the Difference?

While ASCII was revolutionary, it has limits:

FeatureASCIIUnicode
Character Range128 (7-bit)65,000+ (16-bit or more)
LanguagesEnglishGlobal (Chinese, Arabic, etc.)
UsageBasic textModern apps, emojis, scripts

Unicode replaced ASCII for multilingual support, but ASCII remains vital for programming basics.


FAQs About ASCII

1. What’s the ASCII value of ‘A’ to ‘Z’?

  • Uppercase: 65 (A) to 90 (Z).
  • Lowercase: 97 (a) to 122 (z).

2. Can ASCII represent non-English characters?

  • No. Extended ASCII includes some accents, but Unicode handles languages like Chinese or Hindi.

3. How to convert ASCII values to text?

  • Use programming functions like chr(65) in Python to get ‘A’.

4. What’s the purpose of control characters?

  • They manage devices (e.g., printers) or format text (e.g., tabs).

Conclusion

ASCII laid the foundation for how computers interpret text, bridging human language and binary. While newer standards like Unicode dominate today, understanding ASCII is key to grasping digital communication basics.

By 2025, ASCII will celebrate nearly 60 years of shaping technology—a testament to its enduring legacy!