# `curses.ascii` — Utilities for ASCII characters

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
--- | ---
`NUL` |
`SOH` | Início do cabeçalho, interrupção do console
`STX` | Início de texto
`ETX` | Fim de texto
`EOT` | Fim de transmissão
`ENQ` | Consulta, segue com controle de fluxo `ACK`
`ACK` | Confirmação
`BEL` | Campainha
`BS` | Backspace
`TAB` | Tabulação
`HT` | Apelido para `TAB`: “Tabulação horizontal”
`LF` | Alimentação de linha ou line feed
`NL` | Apelido para `LF`: “Nova linha”
`VT` | Tabulação vertical
`FF` | Alimentação de formulário ou form feed
`CR` | Retorno de carro ou carriage return
`SO` | Deslocamento para fora ou shift-out, inicia um conjunto de caracteres alternativo
`SI` | Deslocamento para dentro ou shift-in, retoma o conjunto de caracteres padrão
`DLE` | Escape de conexão ou data-link escape
`DC1` | XON, para controle de fluxo
`DC2` | Controle de dispositivo 2, control de fluxo em modo bloco
`DC3` | XOFF, para controle de fluxo
`DC4` | Controle de dispositivo 4
`NAK` | Confirmação negativa
`SYN` | Estado ocioso síncrono
`ETB` | Bloco de fim de transmissão
`CAN` | Cancelar
`EM` | Fim de mídia
`SUB` | Substituir
`ESC` | Escapar
`FS` | Separador de arquivos
`GS` | Separador de grupos
`RS` | Separador de registros, terminador de modo bloco
`US` | Separador de unidades
`SP` | Espaço
`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.