> **Источник:** https://python-all.ru/3.13/library/curses.ascii.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `curses.ascii` – Утилиты для ASCII-символов

**Исходный код:** [Lib/curses/ascii.py](https://python-all.ru/src/3.13/Lib/curses/ascii.py)

---

Модуль `curses.ascii` предоставляет именованные константы для ASCII-символов и функции для проверки принадлежности к различным классам ASCII-символов. Константы представляют собой названия управляющих символов:

| Имя | Значение |
| --- | --- |
| curses.ascii.NUL |  |
| curses.ascii.SOH | Начало заголовка, прерывание консоли |
| curses.ascii.STX | Начало текста |
| curses.ascii.ETX | Конец текста |
| curses.ascii.EOT | Конец передачи |
| curses.ascii.ENQ | Запрос, используется с управлением потоком [`ACK`](https://python-all.ru/3.13/library/curses.ascii.html#curses.ascii.ACK) |
| curses.ascii.ACK | Подтверждение |
| curses.ascii.BEL | Звонок |
| curses.ascii.BS | Возврат на шаг |
| curses.ascii.TAB | Табуляция |
| curses.ascii.HT | Псевдоним для [`TAB`](https://python-all.ru/3.13/library/curses.ascii.html#curses.ascii.TAB): «Горизонтальная табуляция» |
| curses.ascii.LF | Перевод строки |
| curses.ascii.NL | Псевдоним для [`LF`](https://python-all.ru/3.13/library/curses.ascii.html#curses.ascii.LF): «Новая строка» |
| curses.ascii.VT | Вертикальная табуляция |
| curses.ascii.FF | Перевод страницы |
| curses.ascii.CR | Возврат каретки |
| curses.ascii.SO | Shift-out, начало альтернативного набора символов |
| curses.ascii.SI | Shift-in, возврат к стандартному набору символов |
| curses.ascii.DLE | Управляющий символ канала передачи данных |
| curses.ascii.DC1 | XON, для управления потоком |
| curses.ascii.DC2 | Управление устройством 2, управление потоком в блочном режиме |
| curses.ascii.DC3 | XOFF, для управления потоком |
| curses.ascii.DC4 | Управление устройством 4 |
| curses.ascii.NAK | Отрицательное подтверждение |
| curses.ascii.SYN | Синхронный холостой ход |
| curses.ascii.ETB | Конец блока передачи |
| curses.ascii.CAN | Отмена |
| curses.ascii.EM | Конец носителя |
| curses.ascii.SUB | Замена |
| curses.ascii.ESC | Escape |
| curses.ascii.FS | Разделитель файлов |
| curses.ascii.GS | Разделитель групп |
| curses.ascii.RS | Разделитель записей, завершитель блочного режима |
| curses.ascii.US | Разделитель элементов |
| curses.ascii.SP | Пробел |
| curses.ascii.DEL | Удаление |

Обратите внимание, что многие из этих символов практически не используются в современной работе. Их мнемоники восходят к телетайпным соглашениям, существовавшим до появления цифровых компьютеров.

Модуль предоставляет следующие функции, созданные по образцу функций из стандартной библиотеки C:

#### `curses.ascii.isalnum(c)`

Проверяет, является ли символ буквенно-цифровым ASCII; эквивалентно `isalpha(c) or isdigit(c)`.

#### `curses.ascii.isalpha(c)`

Проверяет, является ли символ буквенным ASCII; эквивалентно `isupper(c) or islower(c)`.

#### `curses.ascii.isascii(c)`

Проверяет, входит ли значение символа в 7-битный набор ASCII.

#### `curses.ascii.isblank(c)`

Проверяет, является ли символ пробельным ASCII; пробел или горизонтальная табуляция.

#### `curses.ascii.iscntrl(c)`

Проверяет, является ли символ управляющим ASCII (в диапазоне 0x00–0x1f или 0x7f).

#### `curses.ascii.isdigit(c)`

Проверяет, является ли символ десятичной цифрой ASCII, от `'0'` до `'9'`. Эквивалентно `c in string.digits`.

#### `curses.ascii.isgraph(c)`

Проверяет любой печатный символ ASCII, кроме пробела.

#### `curses.ascii.islower(c)`

Проверяет, является ли символ строчной буквой ASCII.

#### `curses.ascii.isprint(c)`

Проверяет любой печатный символ ASCII, включая пробел.

#### `curses.ascii.ispunct(c)`

Проверяет любой печатный символ ASCII, не являющийся пробелом или буквенно-цифровым символом.

#### `curses.ascii.isspace(c)`

Проверяет пробельные символы ASCII: пробел, перевод строки, возврат каретки, перевод страницы, горизонтальную табуляцию, вертикальную табуляцию.

#### `curses.ascii.isupper(c)`

Проверяет, является ли символ заглавной буквой ASCII.

#### `curses.ascii.isxdigit(c)`

Проверяет, является ли символ шестнадцатеричной цифрой ASCII. Эквивалентно `c in string.hexdigits`.

#### `curses.ascii.isctrl(c)`

Проверяет, является ли символ управляющим символом ASCII (порядковые значения от 0 до 31). В отличие от [`iscntrl()`](https://python-all.ru/3.13/library/curses.ascii.html#curses.ascii.iscntrl), не включает символ удаления (0x7f).

#### `curses.ascii.ismeta(c)`

Проверяет, является ли символ не-ASCII (порядковые значения 0x80 и выше).

Эти функции принимают либо целые числа, либо строки из одного символа; если аргумент является строкой, он сначала преобразуется с помощью встроенной функции [`ord()`](https://python-all.ru/3.13/library/functions.html#ord).

Все эти функции проверяют порядковые битовые значения, полученные из переданной строки; они не учитывают кодировку символов хост-машины.

Следующие две функции принимают либо строку из одного символа, либо целочисленное значение байта; они возвращают значение того же типа.

#### `curses.ascii.ascii(c)`

Возвращает значение ASCII, соответствующее младшим 7 битам *c*.

#### `curses.ascii.ctrl(c)`

Возвращает управляющий символ, соответствующий данному символу (значение бита символа побитово AND с 0x1f).

#### `curses.ascii.alt(c)`

Возвращает 8-битный символ, соответствующий данному символу ASCII (значение бита символа побитово OR с 0x80).

Следующая функция принимает либо строку из одного символа, либо целое число; возвращает строку.

#### `curses.ascii.unctrl(c)`

Возвращает строковое представление символа ASCII *c*. Если *c* является печатным, эта строка является самим символом. Если символ является управляющим (0x00–0x1f), строка состоит из знака вставки (`'^'`), за которым следует соответствующая заглавная буква. Если символ является символом удаления ASCII (0x7f), строка равна `'^?'`. Если у символа установлен мета-бит (0x80), мета-бит сбрасывается, применяются предыдущие правила, а к результату добавляется `'!'`.

#### `curses.ascii.controlnames`

Массив строк из 33 элементов, содержащий мнемоники ASCII для тридцати двух управляющих символов ASCII от 0 (NUL) до 0x1f (US) по порядку, а также мнемонику `SP` для символа пробела.
