16.12. curses.ascii — 用于 ASCII 字符的工具


curses.ascii 模块提供了一些 ASCII 字符的名称常量以及在各种 ASCII 字符类中执行成员检测的函数。 所提供的控制字符常量如下:

名称 含义
NUL  
SOH 标题开始,控制台中断
STX 文本开始
ETX 文本结束
EOT 传输结束
ENQ 查询,附带 ACK 流量控制
ACK 确认
BEL 蜂鸣器
BS 退格
TAB Tab
HT TAB 的别名: 「水平制表符”
LF 换行
NL LF 的别名: 「新行」
VT 垂直制表符
FF 换页
CR 回车
SO Shift-out,开始替换字符集
SI Shift-in,恢复默认字符集
DLE Data-link escape
DC1 XON,用于流程控制
DC2 Device control 2,阻塞模式流程控制
DC3 XOFF,用于流程控制
DC4 设备控制4
NAK 否定确认
SYN 同步空闲
ETB 末端传输块
CAN 取消
EM 媒体结束
SUB 替换
ESC 退出
FS 文件分隔符
GS 组分隔符
RS 记录分隔符,块模式终结器
US 单位分隔符
SP 空格
DEL 删除

请注意其中有许多在现今已经没有实际作用。 这些助记符是来源于数字计算机之前的电传打印机规范。

此模块提供了下列函数,对应于标准 C 库中的函数:

curses.ascii.isalnum(c)

检测 ASCII 字母数字类字符;它等价于 isalpha(c) isdigit(c)

curses.ascii.isalpha(c)

检测 ASCII 字母类字符;它等价于 isupper(c) or islower(c)

curses.ascii.isascii(c)

检测字符值是否在 7 位 ASCII 集范围内。

curses.ascii.isblank(c)

检测 ASCII 空白字符;包括空格或水平制表符。

curses.ascii.iscntrl(c)

检测 ASCII 控制字符(在 0x00 到 0x1f 或 0x7f 范围内)。

curses.ascii.isdigit(c)

检测 ASCII 十进制数码,即 '0''9'。 它等价于 c in string.digits

curses.ascii.isgraph(c)

检测任意 ASCII 可打印字符,不包括空白符。

curses.ascii.islower(c)

检测 ASCII 小写字母字符。

curses.ascii.isprint(c)

检测任意 ASCII 可打印字符,包括空白符。

curses.ascii.ispunct(c)

检测任意 ASCII 可打印字符,不包括空白符或字母数字类字符。

curses.ascii.isspace(c)

检测 ASCII 空白字符;包括空格,换行,回车,进纸,水平制表和垂直制表。

curses.ascii.isupper(c)

检测 ASCII 大写字母字符。

curses.ascii.isxdigit(c)

检测 ASCII 十六进制数码。 这等价于 c in string.hexdigits

curses.ascii.isctrl(c)

检测 ASCII 控制字符(序号值 0 至 31)。

curses.ascii.ismeta(c)

检测非 ASCII 字符(码位值 0x80 及以上)。

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 string module.

以下两个函数接受单字符字符串或整数形式的字节值;它们会返回相同类型的值。

curses.ascii.ascii(c)

返回对应于 c 的下个 7 比特位的 ASCII 值。

curses.ascii.ctrl(c)

返回对应于给定字符的控制字符(字符比特值会与 0x1f 进行按位与运算)。

curses.ascii.alt(c)

返回对应于给定 ASCII 字符的 8 比特位字符(字符比特值会与 0x80 进行按位或运算)。

以下函数接受单字符字符串或整数值;它会返回一个字符串。

curses.ascii.unctrl(c)

返回 ASCII 字符 c 的字符串表示形式。 如果 c 是可打印字符,则字符串为字符本身。 如果该字符是控制字符 (0x00–0x1f) 则字符串由一个插入符 ('^') 加相应的大写字母组成。 如果该字符是 ASCII 删除符 (0x7f) 则字符串为 '^?'。 如果该字符设置了元比特位 (0x80),元比特位会被去除,应用以上规则后将在结果之前添加 '!'

curses.ascii.controlnames

一个 33 元素的字符串数据,其中按从 0 (NUL) 到 0x1f (US) 的顺序包含了三十二个 ASCII 控制字符的 ASCII 助记符,另加空格符的助记符 SP