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

---

# [`curses.ascii`](https://python-all.ru/3.9/library/curses.ascii.html#module-curses.ascii) – Утилиты для ASCII-символов

---

Модуль [`curses.ascii`](https://python-all.ru/3.9/library/curses.ascii.html#module-curses.ascii) предоставляет именованные константы для ASCII-символов и функции для проверки принадлежности к различным классам ASCII-символов. Константы представляют собой названия управляющих символов:

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

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

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

Эти функции принимают либо целые числа, либо строки из одного символа; если аргумент является строкой, он сначала преобразуется с помощью встроенной функции [`ord()`](https://python-all.ru/3.9/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` для символа пробела.
