"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                                    |
|================|================================================|
| "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.
