# `curses.ascii` — Utilitários para caracteres ASCII

Código-fonte: Lib/curses/ascii.py

O módulo `curses.ascii` fornece constantes de nome para caracteres ASCII e funções para testar associação em várias classes de caracteres ASCII. As constantes fornecidas são nomes para caracteres de controle, como detalhado a seguir:

Nome | Significado
--- | ---

curses.ascii.NUL

curses.ascii.SOH

Início do cabeçalho, interrupção do console

curses.ascii.STX

Início de texto

curses.ascii.ETX

Fim de texto

curses.ascii.EOT

Fim de transmissão

curses.ascii.ENQ

Consulta, segue com controle de fluxo `ACK`

curses.ascii.ACK

Confirmação

curses.ascii.BEL

Campainha

curses.ascii.BS

Backspace

curses.ascii.TAB

Tabulação

curses.ascii.HT

Apelido para `TAB`: “Tabulação horizontal”

curses.ascii.LF

Alimentação de linha ou line feed

curses.ascii.NL

Apelido para `LF`: “Nova linha”

curses.ascii.VT

Tabulação vertical

curses.ascii.FF

Alimentação de formulário ou form feed

curses.ascii.CR

Retorno de carro ou carriage return

curses.ascii.SO

Deslocamento para fora ou shift-out, inicia um conjunto de caracteres alternativo

curses.ascii.SI

Deslocamento para dentro ou shift-in, retoma o conjunto de caracteres padrão

curses.ascii.DLE

Escape de conexão ou data-link escape

curses.ascii.DC1

XON, para controle de fluxo

curses.ascii.DC2

Controle de dispositivo 2, control de fluxo em modo bloco

curses.ascii.DC3

XOFF, para controle de fluxo

curses.ascii.DC4

Controle de dispositivo 4

curses.ascii.NAK

Confirmação negativa

curses.ascii.SYN

Estado ocioso síncrono

curses.ascii.ETB

Bloco de fim de transmissão

curses.ascii.CAN

Cancelar

curses.ascii.EM

Fim de mídia

curses.ascii.SUB

Substituir

curses.ascii.ESC

Escapar

curses.ascii.FS

Separador de arquivos

curses.ascii.GS

Separador de grupos

curses.ascii.RS

Separador de registros, terminador de modo bloco

curses.ascii.US

Separador de unidades

curses.ascii.SP

Espaço

curses.ascii.DEL

Excluir

Note que muitos deles têm pouca significância prática no uso moderno. Os mnemônicos derivam de convenções de teleimpressoras que antecedem os computadores digitais.

O módulo fornece as seguintes funções, baseadas nas da biblioteca C padrão:

curses.ascii.isalnum(c)

  Verifica se há um caractere alfanumérico ASCII; equivale a `isalpha(c) or isdigit(c)`.

curses.ascii.isalpha(c)

  Verifica se há um caractere alfabético ASCII; equivale a `isupper(c) or islower(c)`.

curses.ascii.isascii(c)

  Verifica se há um valor de caractere que se encaixa no conjunto ASCII de 7 bits.

curses.ascii.isblank(c)

  Verifica se há um caractere de espaço em branco ASCII; espaço ou tabulação horizontal.

curses.ascii.iscntrl(c)

  Verifica se há um caractere de controle ASCII (no intervalo de 0x00 a 0x1f ou 0x7f).

curses.ascii.isdigit(c)

  Verifica se há um dígito decimal ASCII, `'0'` a `'9'`. Isso equivale a `c in string.digits`.

curses.ascii.isgraph(c)

  Verifica se há algum caractere ASCII imprimível, exceto espaço.

curses.ascii.islower(c)

  Verifica se há um caractere ASCII minúsculo.

curses.ascii.isprint(c)

  Verifica se há algum caractere ASCII imprimível, incluindo espaço.

curses.ascii.ispunct(c)

  Verifica se há algum caractere ASCII imprimível que não seja um espaço ou um caractere alfanumérico.

curses.ascii.isspace(c)

  Verifica caracteres de espaço em branco ASCII; espaço, quebra de linha, retorno de carro, quebra de página, tabulação horizontal, tabulação vertical.

curses.ascii.isupper(c)

  Verifica se há uma letra maiúscula ASCII.

curses.ascii.isxdigit(c)

  Verifica se há um dígito hexadecimal ASCII. Isso equivale a `c in string.hexdigits`.

curses.ascii.isctrl(c)

  Verifica se há um caractere de controle ASCII (valores ordinais de 0 a 31).

curses.ascii.ismeta(c)

  Verifica se há um caractere não ASCII (valores ordinais 0x80 e acima).

Essas funções aceitam números inteiros ou strings de caracteres únicos; quando o argumento é uma string, ele é primeiro convertido usando a função embutida `ord()`.

Observe que todas essas funções verificam valores de bits ordinais derivados do caractere da string que você passa; elas não sabem nada sobre a codificação de caracteres da máquina host.

As duas funções a seguir aceitam uma string de caractere único ou um valor de byte inteiro; elas retornam um valor do mesmo tipo.

curses.ascii.ascii(c)

  Retorna o valor ASCII correspondente aos 7 bits mais baixos de c.

curses.ascii.ctrl(c)

  Retorna o caractere de controle correspondente ao caractere fornecido (é feito um E bit a bit com 0x1f sobre o valor do bit do caractere).

curses.ascii.alt(c)

  Retorna o caractere de 8 vits correspondente ao caractere ASCII fornecido (é feito um OU bit a bit com 0x80 sobre o valor do bit do caractere).

A função a seguir aceita uma string de um único caractere ou um valor inteiro; ela retorna uma string.

curses.ascii.unctrl(c)

  Retorna uma representação de string do caractere ASCII c. Se c for imprimível, essa string é o próprio caractere. Se o caractere for um caractere de controle (0x00–0x1f), a string consiste em um acento circunflexo (`'^'`) seguido pela letra maiúscula correspondente. Se o caractere for de exclusão ASCII (0x7f), a string é `'^?'`. Se o caractere tiver seu metabit (0x80) definido, o metabit é removido, as regras precedentes são aplicadas e `'!'` é adicionado ao resultado.

curses.ascii.controlnames

  Um vetor de strings de 33 elementos que contém os mnemônicos ASCII para os trinta e dois caracteres de controle ASCII de 0 (NUL) a 0x1f (US), em ordem, mais o mnemônico `SP` para o caractere de espaço.