# `curses.ascii` — Utilidades para los caracteres ASCII

El módulo `curses.ascii` proporciona constantes de nombre para caracteres ASCII y funciones para probar la pertenencia a varias clases de los caracteres ASCII. Las constantes proporcionadas son nombres para caracteres de control de la siguiente manera:

Nombre | Significado
--- | ---
`NUL` |
`SOH` | Inicio del encabezado, interrupción de la consola
`STX` | Inicio del texto
`ETX` | Final del texto
`EOT` | Fin de la transmisión
`ENQ` | Consulta, va con el control de flujo `ACK`
`ACK` | Reconocimiento
`BEL` | Campana
`BS` | Retroceso
`TAB` | Tabulación
`HT` | Alias para `TAB`: «Tabulación horizontal»
`LF` | Línea de alimentación
`NL` | Alias para `LF`: «Nueva línea»
`VT` | Tabulación vertical
`FF` | Alimentación de formulario
`CR` | Retorno de carro (Carriage return en inglés)
`SO` | Shift-out, comenzar un conjunto de caracteres alternativo
`SI` | Shift-in, reanudar el conjunto de caracteres predeterminado
`DLE` | Escape de enlace de datos
`DC1` | XON, para control de flujo
`DC2` | Control de dispositivo 2, control de flujo en modo bloque
`DC3` | XOFF, para control de flujo
`DC4` | Control de dispositivo 4
`NAK` | Reconocimiento negativo
`SYN` | Inactivo sincrónico
`ETB` | Bloque de transmisión final
`CAN` | Cancelar
`EM` | Fin del medio
`SUB` | Sustituir
`ESC` | Escapar
`FS` | Separador de archivos
`GS` | Separador de grupos
`RS` | Separador de registros, finalizador en modo bloque
`US` | Separador de unidades
`SP` | Espacio
`DEL` | Eliminar

Tenga en cuenta que muchos de estos tienen poca importancia práctica en el uso moderno. Los mnemónicos se derivan de las convenciones de la teleimpresora que son anteriores a las computadoras digitales.

El módulo proporciona las siguientes funciones, siguiendo el patrón de las de la biblioteca C estándar:

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

  Comprueba un carácter alfanumérico ASCII; esto es equivalente a `isalpha(c) or isdigit(c)`.

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

  Comprueba si hay un carácter alfabético ASCII; es equivalente a `isupper(c) or islower(c)`.

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

  Comprueba un valor de carácter que se ajuste al conjunto ASCII de 7 bits.

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

  Comprueba si hay un carácter de espacio en blanco ASCII; espacio o tabulación horizontal.

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

  Comprueba un carácter de control ASCII (en el rango de 0x00 a 0x1f o 0x7f).

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

  Comprueba si hay un dígito decimal ASCII, desde `'0'` hasta `'9'`. Esto es equivalente a `c in string.digits`.

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

  Comprueba en ASCII cualquier carácter imprimible excepto el espacio.

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

  Comprueba un carácter ASCII en minúscula.

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

  Comprueba cualquier carácter imprimible ASCII, incluido el espacio.

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

  Comprueba si hay algún carácter ASCII imprimible que no sea un espacio o un carácter alfanumérico.

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

  Comprueba los caracteres de espacio en blanco ASCII; espacio, línea de alimentación, retorno de carro, formulario de alimentación, tabulación horizontal, tabulación vertical.

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

  Comprueba una letra mayúscula ASCII.

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

  Comprueba si hay un dígito hexadecimal ASCII. Esto es equivalente a `c in string.hexdigits`.

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

  Comprueba un carácter de control ASCII (valores ordinales de 0 a 31)

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

  Comprueba si hay un carácter no ASCII (valores ordinales 0x80 y superiores).

Estas funciones aceptan enteros o cadenas de un solo carácter; cuando el argumento es una cadena de caracteres, primero se convierte utilizando la función built-in `ord()`.

Tenga en cuenta que todas estas funciones verifican los valores de bits ordinales derivados del carácter de la cadena que ingresa; en realidad, no saben nada sobre la codificación de caracteres de la máquina host.

Las siguientes dos funciones toman una cadena de un solo carácter o un valor de byte entero; devuelven un valor del mismo tipo.

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

  Retorna el valor ASCII correspondiente a los 7 bits bajos de c.

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

  Retorna el carácter de control correspondiente al carácter dado (el valor del bit del carácter es bit a bit (* bitwise-anded*) con 0x1f).

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

  Retorna el carácter de 8 bits correspondiente al carácter ASCII dado (el valor del bit de carácter se escribe bit a bit (bitwise-ored) con 0x80).

La siguiente función toma una cadena de un solo carácter o un valor entero; devuelve una cadena.

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

  Retorna una representación de cadena del carácter ASCII c. Si c es imprimible, esta cadena es el propio carácter. Si el carácter es un carácter de control (0x00–0x1f) la cadena consta de un signo de intercalación (`'^'`) seguido de la letra mayúscula correspondiente. Si el carácter es una eliminación ASCII (0x7f), la cadena es `'^?'`. Si el carácter tiene su meta bit establecido (0x80), el meta bit se elimina, se aplican las reglas anteriores y se antepone `'!'` al resultado.

`curses.ascii.``controlnames`

  Una matriz de cadena de caracteres de 33 elementos que contiene los mnemónicos ASCII para los treinta y dos caracteres de control ASCII desde 0 (NUL) a 0x1f (US), en orden, más el mnemónico``SP`` para el carácter de espacio.