LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 280|回复: 0

Unicode字符属性

[复制链接]
发表于 2024-1-29 00:21:07 | 显示全部楼层 |阅读模式


Unicode提供了许多不同的字符特性。最常需要的宏可以通过这些宏获得,这些宏根据Python配置映射到C函数。

int Py_UNICODE_ISSPACE(Py_UCS4 ch)
根据 ch 是否为空白字符返回 1 或 0。

int Py_UNICODE_ISLOWER(Py_UCS4 ch)
根据 ch 是否为小写字符返回 1 或 0。

int Py_UNICODE_ISUPPER(Py_UCS4 ch)
根据 ch 是否为大写字符返回 1 或 0

int Py_UNICODE_ISTITLE(Py_UCS4 ch)
根据 ch 是否为标题化的大小写返回 1 或 0。

int Py_UNICODE_ISLINEBREAK(Py_UCS4 ch)
根据 ch 是否为换行类字符返回 1 或 0。

int Py_UNICODE_ISDECIMAL(Py_UCS4 ch)
根据 ch 是否为十进制数字符返回 1 或 0。

int Py_UNICODE_ISDIGIT(Py_UCS4 ch)
根据 ch 是否为数码类字符返回 1 或 0。

int Py_UNICODE_ISNUMERIC(Py_UCS4 ch)
根据 ch 是否为数值类字符返回 1 或 0。

int Py_UNICODE_ISALPHA(Py_UCS4 ch)
根据 ch 是否为字母类字符返回 1 或 0。

int Py_UNICODE_ISALNUM(Py_UCS4 ch)
根据 ch 是否为字母数字类字符返回 1 或 0。

int Py_UNICODE_ISPRINTABLE(Py_UCS4 ch)
根据 ch 是否为可打印字符返回 1 或``0``。 不可打印字符是指在 Unicode 字符数据库中被定义为 "Other" 或 "Separator" 的字符,例外情况是 ASCII 空格 (0x20) 被视为可打印字符。 (请注意在此语境下可打印字符是指当在字符串上发起调用 repr() 时不应被转义的字符。 它们字符串写入 sys.stdout 或 sys.stderr 时所需的处理无关)。

这些 API 可用于快速直接的字符转换:

Py_UCS4 Py_UNICODE_TOLOWER(Py_UCS4 ch)
返回转换为小写形式的字符 ch。

自 3.3 版本弃用: 此函数使用简单的大小写映射。

Py_UCS4 Py_UNICODE_TOUPPER(Py_UCS4 ch)
返回转换为大写形式的字符 ch。

自 3.3 版本弃用: 此函数使用简单的大小写映射。

Py_UCS4 Py_UNICODE_TOTITLE(Py_UCS4 ch)
返回转换为标题大小写形式的字符 ch。

自 3.3 版本弃用: 此函数使用简单的大小写映射。

int Py_UNICODE_TODECIMAL(Py_UCS4 ch)
将字符 ch 转换为十进制正整数返回。 如果无法转换则返回 -1。 此函数不会引发异常。

int Py_UNICODE_TODIGIT(Py_UCS4 ch)
将字符 ch 转换为单个数码位的整数返回。 如果无法转换则返回 -1。 此函数不会引发异常。

double Py_UNICODE_TONUMERIC(Py_UCS4 ch)
将字符 ch 转换为双精度浮点数返回。 如果无法转换则返回 -1.0。 此函数不会引发异常。

这些 API 可被用来操作代理项:

int Py_UNICODE_IS_SURROGATE(Py_UCS4 ch)
检测 ch 是否为代理项 (0xD800 <= ch <= 0xDFFF)。

int Py_UNICODE_IS_HIGH_SURROGATE(Py_UCS4 ch)
检测 ch 是否为高代理项 (0xD800 <= ch <= 0xDBFF)。

int Py_UNICODE_IS_LOW_SURROGATE(Py_UCS4 ch)
检测 ch 是否为低代理项 (0xDC00 <= ch <= 0xDFFF)。

Py_UCS4 Py_UNICODE_JOIN_SURROGATES(Py_UCS4 high, Py_UCS4 low)
合并两个代理项字符并返回单个 Py_UCS4 值。 high 和 low 分别为一个代理项对的开头和末尾代理项。 high 取值范围必须为 [0xD800; 0xDBFF] 而 low 取值范围必须为 [0xDC00; 0xDFFF]。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表