Что такое таблица ASCII?cplus-36

Таблица ASCII (American Standard Code for Information Interchange) — это стандарт кодирования символов, разработанный в 1963 году, который стал основой для представления текста в компьютерах.

Основные характеристики ASCII

  1. Размер таблицы: 7-битная кодировка (128 символов)
  2. Диапазон значений: от 0 до 127 (0x00 до 0x7F в hex)
  3. Состав:
    • Управляющие символы (0-31)
    • Печатные символы (32-126)
    • Удаление/DEL (127)
// Пример получения ASCII кода символа в C++
char c = 'A';
int ascii_code = static_cast<int>(c);  // 65

Структура таблицы ASCII

1. Управляющие символы

Назначение: непечатаемые символы для управления устройствами

КодМнемоникаОписание
0NULNull character
7BELBell/alert
9TABHorizontal tab
10LFLine feed
13CRCarriage return
27ESCEscape

2. Печатные символы

Включают:

  • Пробел (32)
  • Цифры 0-9 (48-57)
  • Прописные буквы A-Z (65-90)
  • Строчные буквы a-z (97-122)
  • Спецсимволы (например, !, @, #)
// Вывод диапазона печатных символов
for (int i = 32; i <= 126; ++i) {
    std::cout << static_cast<char>(i) << ' ';
}

Расширения ASCII

  1. 8-битные кодировки (128-255):

    • ISO-8859-1 (Latin-1)
    • Windows-1251 (кириллица)
    • OEM-866 (DOS)
  2. Unicode: современная замена ASCII, где первые 128 символов совпадают с ASCII

Практическое использование в C++

  1. Проверка категории символа:
#include <cctype>

char c = '7';
bool is_digit = isdigit(c);  // true
bool is_alpha = isalpha('A'); // true
  1. Преобразование регистра:
char lower = tolower('Z');  // 'z'
char upper = toupper('a');  // 'A'
  1. Работа с сырыми ASCII значениями:
// Шифр Цезаря (сдвиг на 3)
char encrypt(char c) {
    if (isalpha(c)) {
        char base = islower(c) ? 'a' : 'A';
        return (c - base + 3) % 26 + base;
    }
    return c;
}

Историческое значение

  1. Совместимость: Все современные кодировки сохраняют ASCII-символы без изменений
  2. Протоколы: Многие сетевые протоколы до сих пор используют ASCII (HTTP, SMTP)
  3. Наследие: Основные принципы ASCII повлияли на Unicode

Резюмируем

  1. ASCII — 7-битная кодировка 128 символов
  2. Включает управляющие и печатные символы
  3. Первые 128 символов Unicode идентичны ASCII
  4. В C++ для работы с ASCII используются функции из <cctype>
  5. Несмотря на возраст, ASCII остается фундаментальной технологией в компьютерных системах