📅  最后修改于: 2020-04-16 06:23:33             🧑  作者: Mango
Unicode字符数据库(UCD)由Unicode标准附件#44定义,该标准定义了所有unicode字符的字符属性。该模块提供对UCD的访问,并使用与Unicode字符数据库定义的符号和名称相同的符号和名称。
模块定义的函数:
import unicodedata
print unicodedata.lookup('LEFT CURLY BRACKET')
print unicodedata.lookup('RIGHT CURLY BRACKET')
print unicodedata.lookup('ASTERISK')
# 由于没有称为ASTER的符号而给出错误
# print unicodedata.lookup('ASTER')
输出:
{
}
*
unicodedata.name(chr [,默认])
此函数以字符串形式返回分配给给定字符的名称。如果未定义名称,则函数返回默认值,否则,如果未提供名称,则会引发ValueError。范例:
import unicodedata
print unicodedata.name(u'/')
print unicodedata.name(u'|')
print unicodedata.name(u':')
输出:
SOLIDUS
VERTICAL LINE
COLON
unicodedata.decimal(chr [,default])
此函数以整数形式返回分配给给定字符的十进制值。如果未定义任何值,则该函数将返回默认值;否则,如果未提供值,则会引发ValueError。
范例:
import unicodedata
print unicodedata.decimal(u'9')
print unicodedata.decimal(u'a')
输出:
9
Traceback (most recent call last):
File "7e736755dd176cd0169eeea6f5d32057.py", line 4, in
print unicodedata.decimal(u'a')
ValueError: not a decimal
unicodedata.digit(chr [,默认])
此函数以整数形式返回分配给给定字符的数字值。如果未定义任何值,则该函数将返回默认值;否则,如果未提供值,则会引发ValueError。
范例:
import unicodedata
print unicodedata.decimal(u'9')
print unicodedata.decimal(u'143')
输出:
9
Traceback (most recent call last):
File "ad47ae996380a777426cc1431ec4a8cd.py", line 4, in
print unicodedata.decimal(u'143')
TypeError: need a single Unicode character as parameter
unicodedata.numeric(chr [,default])
此函数以整数形式返回分配给给定字符的数值。如果未定义任何值,则该函数将返回默认值;否则,如果未提供值,则会引发ValueError。
范例:
import unicodedata
print unicodedata.decimal(u'9')
print unicodedata.decimal(u'143')
输出:
9
Traceback (most recent call last):
File "ad47ae996380a777426cc1431ec4a8cd.py", line 4, in
print unicodedata.decimal(u'143')
TypeError: need a single Unicode character as parameter
unicodedata.category(chr)
此函数以字符串形式返回分配给给定字符的常规类别。例如,对于字母返回“ L”,对于大写字母返回“ u”。
范例:
import unicodedata
print unicodedata.category(u'A')
print unicodedata.category(u'b')
输出:
Lu
Ll
unicodedata.bidirectional(chr)
此函数以字符串形式返回分配给给定字符的双向类。例如,对于阿拉伯语,返回“ A”,对于数字,返回“ N”。如果未定义此值,则此函数将返回一个空字符串。
范例:
import unicodedata
print unicodedata.bidirectional(u'\u0660')
输出:
AN
unicodedata.normalize(form,unistr)
此函数返回Unicode字符串unistr的普通形式form。格式的有效值为“ NFC”,“ NFKC”,“ NFD”和“ NFKD”。
范例:
from unicodedata import normalize
print '%r' % normalize('NFD', u'\u00C7')
print '%r' % normalize('NFC', u'C\u0327')
print '%r' % normalize('NFKD', u'\u2460')
输出:
u'C\u0327'
u'\xc7'
u'1'