Summarise With AI
Back

ASCII Table in C++: Character Codes and Examples

10 Feb 2026
5 min read

What This Blog Covers

  • Explains how the ASCII Table in C++ represents characters using numerical values and why this system is essential for computers.
  • Shows how characters are encoded into binary and decoded back into readable text.
  • Coders control characters, printable characters, and the special DEL character with real examples.
  • Demonstrates how to use extended ASCII in C++, output ASCII tables, and translate characters to values.
  • Helps you comprehend how ASCII enhances compatibility, performance, and text processing in practical programming.

Introduction

Every letter you type, every number you see, and every symbol on your screen is secretly a number. Behind simple characters like A, @, or 5, there exists a hidden numerical system that computers understand, and that system is called ASCII. The ASCII Table in C++ acts as the bridge between human language and machine logic. When you work with text in C++, you are actually working with numbers in disguise. Understanding this connection gives you deeper control over string handling, encryption, data processing, and system-level programming.

In this guide, you will uncover how ASCII works, how C++ interprets characters, and how you can use ASCII values to write smarter, faster, and more powerful programs.

What is ASCII?

ASCII (American Standard Code for Information Interchange) is a standard for character encoding that assigns numeric codes to characters. It was created in the 1960s and became a basis for text representation in computers and other communication devices. In the ASCII table C++, characters are represented by unique numbers from 0 to 127. This enables computers to handle, store, and transfer text data effectively.

ASCII is a 7-bit encoding system, meaning it uses 7 bits per character, which allows it to represent 128 distinct characters. However, many modern systems use extended versions of ASCII that can utilize the 8th bit, allowing for 256 characters (known as Extended ASCII).

How Computers Interpret ASCII Codes

Computers cannot read letters or symbols directly; instead, they operate on binary data (0s and 1s). ASCII (American Standard Code for Information Interchange) connects human-readable characters and machine-readable numbers. 

Encoding: From Characters to ASCII Values

When text is input into a computer, each character is given a unique ASCII value. For example, the character 'A' corresponds to the ASCII value 65, while 'a' corresponds to 97. We refer to this procedure as encoding.

Example:

  • 'A' → 65
  • 'a' → 97
  • '0' → 48

Binary Representation

Each ASCII value is then converted into its binary equivalent so that the computer can process and store it efficiently. For instance:

  • 65 (for 'A') becomes 01000001 in binary.
  • 97 (for 'a') becomes 01100001 in binary.

Data Transmission and Communication

The ASCII values are transferred as binary data when text is delivered across communication channels (like the internet or between devices). Data transmission control and text formatting are managed by control characters, such as CR for Carriage Return or LF for Line Feed.

Decoding: From Binary to Readable Text

The binary data is decoded back into ASCII values at the receiving end, where it is converted into readable characters for processing or display.

Practical Example

Let's say that you type "Hi":

  • 'H' → ASCII 72 → Binary 01001000
  • 'i' → ASCII 105 → Binary 01101001

The computer stores and transmits these binary sequences. When needed, it decodes them back to 'H' and 'i' for you to read.

Importance of ASCII in C++ Programming

Since it serves as the foundation for text representation and manipulation within programs, ASCII Table C++ is important to C++ development. ASCII aids in the creation of C++ in the following ways:

1. Text Representation

ASCII provides a standardized way of representing characters as numeric codes, which is crucial for handling text in C++. As a systems programming language, ASCII Table C++ must communicate with many software and hardware environments. Character representation across platforms is guaranteed by ASCII, which is essential for operations like input/output, file management, and network communication.

2. Data Manipulation

To manipulate and process strings or characters in C++, it is essential to comprehend and make use of ASCII values. The numeric ASCII values of characters are essential for a number of string and character operations, including sorting, searching, and encoding. ASCII is useful for a number of data handling activities.

3. Memory Efficiency and Performance

Because each character only needs one byte (8 bits), C++ applications may be memory-efficient when working directly with ASCII data. This can greatly lower memory usage and boost efficiency when working with big volumes of textual material.

In some cases, using the ASCII codes allows for more optimized algorithms in text processing, such as in searching algorithms (e.g., binary search on sorted character arrays), where numeric comparisons are faster than string-based ones.

Note: ASCII is fundamental to C++ programming because it defines how characters are stored and processed internally. By storing each character in a single byte, it enhances efficiency, guarantees uniform text representation across platforms, and makes it possible to manipulate characters and strings effectively using numeric values. Writing C++ applications that are quicker, more dependable, and platform-independent is made easier for developers when they understand ASCII.

Exploring the ASCII Table

A standardized method for utilizing numeric codes to represent characters is the ASCII table. Control characters, printable characters, and a unique delete character make up its 128 characters.

1. Control Characters (0-31)

Control characters, which are not printable, are mostly employed in early computing and communications systems to format text and regulate data flow. They don't represent symbols or visible text but play an essential role in controlling the behavior of text.

Here are some key control characters:

  • 0 (NUL): The null character is used to terminate strings or indicate the end of a line in some systems. It has no visual representation.
  • 9 (TAB): Usually employed to align text in columns, the horizontal tab character advances the pointer to the subsequent tab stop.
  • 10 (LF): Line feed, which advances the pointer to the subsequent line.
  • 13 (CR): Carriage return, which, in Windows and other systems, is frequently used in conjunction with LF to indicate the end of a line, advances the cursor to the beginning of the line.
  • 27 (ESC): Escape character, often used to initiate escape sequences for special formatting or control functions in terminal-based programs.

Here’s a small subset of control characters:

Decimal Character Description
0 NUL Null character
9 TAB Horizontal tab
10 LF Line feed (new line)
13 CR Carriage return
27 ESC Escape character

2. Printable Characters (32-126)

Printable characters are those that can be displayed as visible text. These include letters, digits, punctuation marks, and other symbols, all of which are used in regular text input/output operations in programming.

Here is a partial list of printable characters:

Decimal Character Description
32 SPACE Space
33 ! Exclamation mark
34 " Double quote
48 0 Digit 0
65 A Uppercase A
97 a Lowercase a
64 @ At symbol
126 ~ Tilde (tilde symbol)

Example of Printable Characters in C++:

#include <iostream>
using namespace std;

int main() {
    // Printing various printable characters
    cout << "Digit: " << 48 << " is " << char(48) << endl;
    cout << "Character: " << 65 << " is " << char(65) << endl;
    cout << "Symbol: " << 64 << " is " << char(64) << endl;
    return 0;
}

Explanation

This C++ code prints the characters corresponding to specific ASCII values. It first prints the character for ASCII value 48, which is the digit '0'. Then, it prints the character for ASCII value 65, which is the letter 'A', followed by the character for ASCII value 64, which is the symbol '@'. Each value is printed along with its corresponding character using char() for conversion.

Output

Digit: 48 is 0
Character: 65 is A
Symbol: 64 is @

3. DEL Character (127)

 127 (DEL): In early text-based systems, the delete character was used to erase or remove a character. Even though it isn't used much anymore, it is still a control character in the ASCII standard.

Example of DEL Character: In modern systems, the DEL character is rarely used directly, but it historically represented the backspace or delete function in early computer terminals and devices. It’s often represented as \x7F or DEL in programming environments.

Summary Table of Some ASCII Characters

Decimal Character Description
0 NUL Null character
9 TAB Horizontal tab
10 LF Line feed (newline)
32 SPACE Space
65 A Uppercase A
97 a Lowercase a
127 DEL Delete character

ASCII Table C++ Program

Here is a simple ASCII table C++ program that prints the standard ASCII table:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    cout << "ASCII Table in C++" << endl;
    cout << "==================" << endl;

    for (int i = 0; i < 128; i++) {
        cout << setw(3) << i << " = " << static_cast<char>(i) << endl;
    }
    return 0;
}

Explanation

  • This program uses a loop to iterate through ASCII values from 0 to 127.
  • It displays the integer value and its corresponding character.

Summary

The ASCII table C++ has made it possible for computers to express text as integers. A distinct numeric code, ranging from 0 to 127, is assigned to every letter, number, and symbol. Every character you input is converted by the computer into the corresponding ASCII value. The computer may then operate using human-readable language after these numbers have been transformed and saved as binary data. Printable characters operate as visual symbols, whereas lower-range control characters regulate formatting and data flow. This numeric encoding enables efficient text processing, storage, and transmission in digital systems.

Finding the ASCII Value of a Character in C++

Every character in C++ is internally kept as an ASCII-compliant numeric value. By converting a character to an integer type, you can easily find its corresponding ASCII value. This is commonly done using type casting.

Using Type Conversion

The program that follows shows how to use C++ to determine a character's ASCII value:

#include <iostream>

using namespace std;

int main() {
    char c;
    cout << "Enter a character: ";
    cin >> c;
    cout << "ASCII value of '" << c << "' is " << static_cast<int>(c) << endl;
    return 0;
}

Explanation

This C++ program asks the user to input a character. The input character is stored in the variable c. After that, it uses static_cast<int>() to translate the character to its matching ASCII value. Lastly, the character and its ASCII value are sent to the console by the software.

Output

Enter a character: t
ASCII value of 't' is 116

Extended ASCII Values: Beyond the Standard Range

Although 128 characters (values 0–127) are defined by the standard ASCII table, many systems and applications need extra symbols, accented letters, and graphical characters that are not part of the original set. The idea of Extended ASCII was developed to meet these demands.

What is Extended ASCII?

Character encodings with extended ASCII refer to the use of all eight bits of a byte (thus 2 to the power of 8 = 256 potential values, 0255), where the extended range refers to the numbers 128 to 255. While original ASCII is a single, widely accepted standard, expanded ASCII is not. The additional values are mapped differently by various systems and geographical regions.

Common Extended ASCII Encodings

The following are a few common extended ASCII encodings:

  • ISO-8859-1 (Latin-1): The predominant use is for Western European languages, adding accented characters and additional symbols.
  • Windows-1252: Common on Microsoft Windows, similar to Latin-1 but with some differences in the assignment of certain symbols.
  • Other regional encodings: Such as ISO-8859-2 (Central European), ISO-8859-5 (Cyrillic), etc.

Because these encodings assign different characters to the same numeric values (128–255), text files created on one system may not display correctly on another unless the encoding is specified and supported.

Usage and Limitations in C++

By utilizing data types like char (which is usually 8 bits) and converting numbers in the 128–255 range to characters, you can deal with the expanded ASCII range in C++. However, the code page or locale settings of the system determine which glyph is actually shown.

Example: Printing Extended ASCII Characters in C++

#include <iostream>
#include <iomanip>

using namespace std;

int main() {

    for (int i = 128; i < 256; i++) {
        cout << setw(3) << i << " = "
             << static_cast<char>(i)
             << endl;
    }

    return 0;
}

Note:

The output of this program will vary depending on your operating system, terminal, and locale settings. In some environments, certain values may not display as visible characters.

Why Extended ASCII Matters

  • Legacy Support: Extended ASCII was widely used before the adoption of Unicode, especially in older applications and file formats.
  • Compatibility Issues: Since there was no single standard, sharing text across different systems or regions resulted in problems.
  • Transition to Unicode: The problems served as a main reason for the creation of Unicode that offers a universal character set for all languages and symbols.

Summary

  • Extended ASCII covers values 128–255, expanding the original 7-bit ASCII table.
  • There is no single, universal extended ASCII standard—different systems use different mappings.
  • Modern applications increasingly use Unicode for comprehensive and consistent character representation.

Conclusion

The ASCII Table in C++ forms the foundation of how computers understand and process text. ASCII is essential for data transfer, file management, string manipulation, and system-level programming because each character you operate with is internally processed as a numeric value. You can have more control over the representation and processing of data by knowing how to convert between characters and their ASCII values, investigating control and printable characters, and utilizing longer ranges. Gaining proficiency with ASCII enables you to create C++ programs that are more dependable, portable, and efficient on many systems.

Points to Remember

  • By giving characters numerical values between 0 and 127, ASCII enables computers to store and process text.
  • Control characters regulate formatting and data flow, whereas printable characters are between 32 and 126.
  • Typecasting may be used in C++ to convert characters to ASCII values, as demonstrated by static_cast<int>().
  • Extended ASCII (128–255) exists, although its meaning changes based on the system and encoding.
  • Comprehending ASCII enhances C++ applications' interoperability, performance, and text handling.

Frequently Asked Questions

1. What is ASCII in C++?

ASCII (American Standard Code for Information Interchange) is a character encoding standard that assigns numerical values to characters. It helps computers represent and manipulate text efficiently.

2. How to print ASCII values in C++?

To print ASCII values in C++, you can utilize loops and typecasting. As an illustration, cout \< static_cast('A'); outputs 'A''s ASCII value (65).

3. Can ASCII handle international characters?

International characters cannot be handled by standard ASCII since it only provides 128 characters. Extended ASCII (0–255) has more symbols, although Unicode is advised for multilingual compatibility.

4. What is the significance of ASCII in programming?

System compatibility is ensured by ASCII's standardization of character representation. It is widely used in text processing, encryption, and file handling.

5. What is the difference between ASCII and Unicode?

ASCII is a 7-bit or 8-bit encoding supporting 128 or 256 characters, while Unicode provides a much larger range, supporting global languages and symbols with different encoding formats (UTF-8, UTF-16, etc.).

6. How to convert a character to ASCII in C++?

Use static_cast<int>(character) to get the ASCII value. For example, char ch = 'B'; cout << static_cast<int>(ch); outputs 66.

7. What is an extended ASCII table?

Characters such as accented letters, symbols, and graphical characters are added to Extended ASCII, which has values between 128 and 255. It is frequently utilized in text-based applications and older systems.

8. How to check if a character is printable in ASCII?

Printable ASCII characters range from 32 to 126. You can check this using if (ch >= 32 && ch <= 126), where ch is a character input.

Summarise With Ai
ChatGPT
Perplexity
Claude
Gemini
Gork
ChatGPT
Perplexity
Claude
Gemini
Gork
Chat with us
Chat with us
Talk to career expert