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

Source code: Lib/curses/ascii.py

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