16.11. curses.ascii — Utilities for ASCII characters
New in version 1.6.
The curses.ascii module supplies name constants for ASCII characters and
functions to test membership in various ASCII character classes. The constants
supplied are names for control characters as follows:
||Start of heading, console interrupt
||Start of text
||End of text
||End of transmission
||Enquiry, goes with ACK flow control
||Alias for TAB: “Horizontal tab”
||Alias for LF: “New line”
||Shift-out, begin alternate character set
||Shift-in, resume default character set
||XON, for flow control
||Device control 2, block-mode flow control
||XOFF, for flow control
||Device control 4
||End transmission block
||End of medium
||Record separator, block-mode terminator
Note that many of these have little practical significance in modern usage. The
mnemonics derive from teleprinter conventions that predate digital computers.
The module supplies the following functions, patterned on those in the standard
- Checks for an ASCII alphanumeric character; it is equivalent to isalpha(c) or
- Checks for an ASCII alphabetic character; it is equivalent to isupper(c) or
- Checks for a character value that fits in the 7-bit ASCII set.
- Checks for an ASCII whitespace character.
- Checks for an ASCII control character (in the range 0x00 to 0x1f).
- Checks for an ASCII decimal digit, '0' through '9'. This is equivalent
to c in string.digits.
- Checks for ASCII any printable character except space.
- Checks for an ASCII lower-case character.
- Checks for any ASCII printable character including space.
- Checks for any printable ASCII character which is not a space or an alphanumeric
- Checks for ASCII white-space characters; space, line feed, carriage return, form
feed, horizontal tab, vertical tab.
- Checks for an ASCII uppercase letter.
- Checks for an ASCII hexadecimal digit. This is equivalent to c in
- Checks for an ASCII control character (ordinal values 0 to 31).
- Checks for a non-ASCII character (ordinal values 0x80 and above).
These functions accept either integers or strings; when the argument is a
string, it is first converted using the built-in function ord().
Note that all these functions check ordinal bit values derived from the first
character of the string you pass in; they do not actually know anything about
the host machine’s character encoding. For functions that know about the
character encoding (and handle internationalization properly) see the
The following two functions take either a single-character string or integer
byte value; they return a value of the same type.
- Return the ASCII value corresponding to the low 7 bits of c.
- Return the control character corresponding to the given character (the character
bit value is bitwise-anded with 0x1f).
- Return the 8-bit character corresponding to the given ASCII character (the
character bit value is bitwise-ored with 0x80).
The following function takes either a single-character string or integer value;
it returns a string.
- Return a string representation of the ASCII character c. If c is printable,
this string is the character itself. If the character is a control character
(0x00-0x1f) the string consists of a caret ('^') followed by the
corresponding uppercase letter. If the character is an ASCII delete (0x7f) the
string is '^?'. If the character has its meta bit (0x80) set, the meta bit
is stripped, the preceding rules applied, and '!' prepended to the result.
- A 33-element string array that contains the ASCII mnemonics for the thirty-two
ASCII control characters from 0 (NUL) to 0x1f (US), in order, plus the mnemonic
SP for the space character.