curses.ascii --- 用于 ASCII 字符的工具?


curses.ascii 模塊提供了一些 ASCII 字符的名稱常量以及在各種 ASCII 字符類中執(zhí)行成員檢測的函數(shù)。 所提供的控制字符常量如下:

名稱

含意

NUL

SOH

標(biāo)題開始,控制臺中斷

STX

文本開始

ETX

文本結(jié)束

EOT

傳輸結(jié)束

ENQ

查詢,附帶 ACK 流量控制

ACK

確認(rèn)

BEL

蜂鳴器

BS

退格

TAB

制表符

HT

TAB 的別名: "水平制表符”

LF

換行

NL

LF 的別名: "新行"

VT

垂直制表符

FF

換頁

CR

回車

SO

Shift-out,開始替換字符集

SI

Shift-in,恢復(fù)默認(rèn)字符集

DLE

Data-link escape,數(shù)據(jù)鏈接轉(zhuǎn)義

DC1

XON,用于流程控制

DC2

Device control 2,塊模式流程控制

DC3

XOFF,用于流程控制

DC4

設(shè)備控制4

NAK

否定確認(rèn)

SYN

同步空閑

ETB

末端傳輸塊

CAN

取消

EM

媒體結(jié)束

SUB

替換

ESC

退出

FS

文件分隔符

GS

組分隔符

RS

Record separator,塊模式終止符

US

單位分隔符

SP

空格

DEL

刪除

請注意其中有許多在現(xiàn)今已經(jīng)沒有實(shí)際作用。 這些助記符是來源于數(shù)字計算機(jī)之前的電傳打印機(jī)規(guī)范。

此模塊提供了下列函數(shù),對應(yīng)于標(biāo)準(zhǔn) C 庫中的函數(shù):

curses.ascii.isalnum(c)?

檢測 ASCII 字母數(shù)字類字符;它等價于 isalpha(c) isdigit(c)。

curses.ascii.isalpha(c)?

檢測 ASCII 字母類字符;它等價于 isupper(c) or islower(c)。

curses.ascii.isascii(c)?

檢測字符值是否在 7 位 ASCII 集范圍內(nèi)。

curses.ascii.isblank(c)?

檢測 ASCII 空白字符;包括空格或水平制表符。

curses.ascii.iscntrl(c)?

檢測 ASCII 控制字符(在 0x00 到 0x1f 或 0x7f 范圍內(nèi))。

curses.ascii.isdigit(c)?

檢測 ASCII 十進(jìn)制數(shù)碼,即 '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 可打印字符,不包括空白符或字母數(shù)字類字符。

curses.ascii.isspace(c)?

檢測 ASCII 空白字符;包括空格,換行,回車,進(jìn)紙,水平制表和垂直制表。

curses.ascii.isupper(c)?

檢測 ASCII 大寫字母字符。

curses.ascii.isxdigit(c)?

檢測 ASCII 十六進(jìn)制數(shù)碼。 這等價于 c in string.hexdigits。

curses.ascii.isctrl(c)?

檢測 ASCII 控制字符(碼位值 0 至 31)。

curses.ascii.ismeta(c)?

檢測非 ASCII 字符(碼位值 0x80 及以上)。

這些函數(shù)接受整數(shù)或單字符字符串;當(dāng)參數(shù)為字符串時,會先使用內(nèi)置函數(shù) ord() 進(jìn)行轉(zhuǎn)換。

請注意所有這些函數(shù)都是檢測根據(jù)你傳入的字符串的字符所生成的碼位值;它們實(shí)際上完全不會知曉本機(jī)的字符編碼格式。

以下兩個函數(shù)接受單字符字符串或整數(shù)形式的字節(jié)值;它們會返回相同類型的值。

curses.ascii.ascii(c)?

返回對應(yīng)于 c 的下個 7 比特位的 ASCII 值。

curses.ascii.ctrl(c)?

返回對應(yīng)于給定字符的控制字符(字符比特值會與 0x1f 進(jìn)行按位與運(yùn)算)。

curses.ascii.alt(c)?

返回對應(yīng)于給定 ASCII 字符的 8 比特位字符(字符比特值會與 0x80 進(jìn)行按位或運(yùn)算)。

以下函數(shù)接受單字符字符串或整數(shù)值;它會返回一個字符串。

curses.ascii.unctrl(c)?

返回 ASCII 字符 c 的字符串表示形式。 如果 c 是可打印字符,則字符串為字符本身。 如果該字符是控制字符 (0x00--0x1f) 則字符串由一個插入符 ('^') 加相應(yīng)的大寫字母組成。 如果該字符是 ASCII 刪除符 (0x7f) 則字符串為 '^?'。 如果該字符設(shè)置了元比特位 (0x80),元比特位會被去除,應(yīng)用以上規(guī)則后將在結(jié)果之前添加 '!'。

curses.ascii.controlnames?

一個 33 元素的字符串?dāng)?shù)據(jù),其中按從 0 (NUL) 到 0x1f (US) 的順序包含了三十二個 ASCII 控制字符的 ASCII 助記符,另加空格符的助記符 SP。