珠海做网站哪家专业,网站导航布局,wordpress 长图文,医疗网站建设策划书此模块提供了对 Unicode Character Database (UCD) 的访问#xff0c;其中定义了所有 Unicode 字符的字符属性。 此数据库中包含的数据编译自 UCD 版本 15.0.0。
该模块使用与 Unicode 标准附件 #44 “Unicode 字符数据库” 中所定义的相同名称和符号。 它定义了以下函数其中定义了所有 Unicode 字符的字符属性。 此数据库中包含的数据编译自 UCD 版本 15.0.0。
该模块使用与 Unicode 标准附件 #44 “Unicode 字符数据库” 中所定义的相同名称和符号。 它定义了以下函数
unicodedata.lookup(name)
按名称查找字符。如果找到具有给定名称的字符则返回相应的字符。 如果没有找到则 KeyError 被引发。
在 3.3 版本发生变更: 已添加对名称别名 [1] 和命名序列 [2] 的支持。
unicodedata.name(chr[, default])
返回分配给字符 chr 的名称作为字符串。如果没有定义名称则返回 default 如果没有给出则 ValueError 被引发。
unicodedata.decimal(chr[, default])
返回分配给字符 chr 的十进制值作为整数。 如果没有定义这样的值则返回 default 如果没有给出则 ValueError 被引发。
unicodedata.digit(chr[, default])
返回分配给字符 chr 的数字值作为整数。 如果没有定义这样的值则返回 default 如果没有给出则 ValueError 被引发。
unicodedata.numeric(chr[, default])
返回分配给字符 chr 的数值作为浮点数。 如果没有定义这样的值则返回 default 如果没有给出则 ValueError 被引发。
unicodedata.category(chr)
返回分配给字符 chr 的常规类别为字符串。
unicodedata.bidirectional(chr)
返回分配给字符 chr 的双向类作为字符串。如果未定义此类值则返回空字符串。
unicodedata.combining(chr)
返回分配给字符 chr 的规范组合类作为整数。如果没有定义组合类则返回 0 。
unicodedata.east_asian_width(chr)
返回分配给字符 chr 的东亚宽度作为字符串。
unicodedata.mirrored(chr)
返回分配给字符 chr 的镜像属性为整数。如果字符在双向文本中被识别为“镜像”字符则返回 1 否则返回 0 。
unicodedata.decomposition(chr)
返回分配给字符 chr 的字符分解映射作为字符串。如果未定义此类映射则返回空字符串。
unicodedata.normalize(form, unistr)
返回 Unicode 字符串 unistr 的正常形式 form 。 form 的有效值为 NFC 、 NFKC 、 NFD 和 NFKD 。
Unicode 标准基于规范等价和兼容性等效的定义定义了 Unicode 字符串的各种规范化形式。在 Unicode 中可以以各种方式表示多个字符。 例如字符 U00C7 带有 CEDILLA 的 LATIN CAPITAL LETTER C 也可以表示为序列 U0043 LATIN CAPITAL LETTER C U0327 COMBINING CEDILLA 。
对于每个字符有两种正规形式正规形式 C 和正规形式 D 。正规形式DNFD也称为规范分解并将每个字符转换为其分解形式。 正规形式CNFC首先应用规范分解然后再次组合预组合字符。
除了这两种形式之外还有两种基于兼容性等效的其他常规形式。 在 Unicode 中支持某些字符这些字符通常与其他字符统一。 例如 U2160ROMAN NUMERAL ONE与 U0049LATIN CAPITAL LETTER I完全相同。 但是 Unicode 支持它与现有字符集例如 gb2312 的兼容性。
正规形式KDNFKD将应用兼容性分解即用其等价项替换所有兼容性字符。 正规形式KCNFKC首先应用兼容性分解然后是规范组合。
即使两个 unicode 字符串被规范化并且人类读者看起来相同如果一个具有组合字符而另一个没有则它们可能无法相等。
unicodedata.is_normalized(form, unistr)
判断 Unicode 字符串 unistr 是否为正规形式 form。 form 的有效值为 NFC, NFKC, NFD 和 NFKD。
在 3.8 版本加入.
此外该模块暴露了以下常量
unicodedata.unidata_version
此模块中使用的 Unicode 数据库的版本。
unicodedata.ucd_3_2_0
这是一个与整个模块具有相同方法的对象但对于需要此特定版本的 Unicode 数据库如 IDNA 的应用程序则使用 Unicode 数据库版本 3.2 。
示例 import unicodedataunicodedata.lookup(LEFT CURLY BRACKET)
{unicodedata.name(/)
SOLIDUSunicodedata.decimal(9)
9unicodedata.decimal(a)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: not a decimalunicodedata.category(A) # Letter, uppercase
Luunicodedata.bidirectional(\u0660) # Arabic, Number
AN