python中的data解释_pythonunicodedata⽤法
UCD是Unicode字符数据库(Unicode Character DataBa)的缩写。
UCD由⼀些描述Unicode字符属性和内部关系的纯⽂本或html⽂件组成。
UCD中的⽂本⽂件⼤都是适合于程序分析的Unicode相关数据。其中的html⽂件解释了数据库的组织,数据的格式和含义。
UCD中最庞⼤的⽂件⽆疑就是描述汉字属性的⽂件。
在UCD 5.0,0中,⽂件⼤⼩有28,221K字节。中包含了很多有参考价值的索引,例如汉字部⾸、笔划、拼⾳、使⽤频度、四⾓号码排序等。这些索引都是基于⼀些⽐较权威的辞典,但⼤多数索引只能检索部分汉字。
unicodedata.lookup(name)
通过名称来查找⼀个字符。如果字符存在就返回相应字符,如果不存在抛出异常KeyError。
焦急的>>> import unicodedata
>>> print(unicodedata.lookup('LEFT CURLY BRACKET'))
{
>>> print(unicodedata.lookup('LEFT'))
Traceback (most recent call last):
File "", line 1, in
KeyError: "undefined character name 'LEFT'"
>>>
unicodedata.name(chr[,default])
通过字符来查找它的名称。如果成功返回相应名称,否则抛出异常ValueError。
>>> import unicodedata
>>> print(unicodedata.name('{'))
LEFT CURLY BRACKET
>>> print(unicodedata.name('@'))
COMMERCIAL AT
>>> print(unicodedata.name('{{'))
Traceback (most recent call last):
File "", line 1, in
TypeError: name() argument 1 must be a unicode character, not str
>>>
unicodedata.decimal(chr[, default])
返回表⽰数字字符的数值。如果给⼀个没有数字的值时,会抛出异常ValueError。
>>> import unicodedata
>>> print(unicodedata.decimal('7'))
7
>>> print(unicodedata.decimal('7a'))
Traceback (most recent call last):
File "", line 1, in
TypeError: decimal() argument 1 must be a unicode character, not str
>>>
unicodedata.digit(chr[, default])
把⼀个合法的数字字符串转换为数字值,⽐如0到9的字符串转换为相应的数字值。如果⾮法的字符串,抛出异常ValueError。
>>> import unicodedata
课堂教学改革>>> print(unicodedata.digit('9', None))
9
>>> print(unicodedata.digit('9a', None))
Traceback (most recent call last):
File "", line 1, in
TypeError: digit() argument 1 must be a unicode character, not str
>>>
unicodedata.numeric(chr[, default])
把⼀个表⽰数字的字符串转换为浮点数返回。⽐如可以把‘8’,‘四’转换数值输出。与digit()不⼀样的地⽅是它可以任意表⽰数值的字符都可以,不仅仅限于0到9的字符。如果不是合法字符,会抛出异常ValueError。
>>> import unicodedata
>>> print(unicodedata.numeric('四', None))
4.0
>>> print(unicodedata.numeric('8', None))
8.0
>>> print(unicodedata.numeric('8a', None))
Traceback (most recent call last):
新年快乐的英语怎么写File "", line 1, in
TypeError: numeric() argument 1 must be a unicode character, not str
>>>
unicodedata.category(chr)
把⼀个字符返回它在UNICODE⾥分类的类型。具体类型如下:
Code Description
[Cc] Other, Control
[Cf] Other, Format
[Cn] Other, Not Assigned (no characters in the file have this property)
[Co] Other, Private U
[Cs] Other, Surrogate
[LC] Letter, Cad
[Ll] Letter, Lowerca
[Lm] Letter, Modifier
[Lo] Letter, Other
[Lt] Letter, Titleca
[Lu] Letter, Upperca
[Mc] Mark, Spacing Combining
[Me] Mark, Enclosing
[Mn] Mark, Nonspacing
[Nd] Number, Decimal Digit
[Nl] Number, Letter
[No] Number, Other
[Pc] Punctuation, Connector
[Pd] Punctuation, Dash
[Pe] Punctuation, Clo
[Pf] Punctuation, Final quote (may behave like Ps or Pe depending on usage) [Pi] Punctuation, Initial quote (may behave like Ps or Pe depending on usage) [Po] Punctuation, Other
[Ps] Punctuation, Open
[Sc] Symbol, Currency
回来英语[Sk] Symbol, Modifier
[Sm] Symbol, Math
[So] Symbol, Other
[Zl] Separator, Line
[Zp] Separator, Paragraph
[Zs] Separator, Space
>>> import unicodedata
>>> print(unicodedata.category('四'))
Lo
>>> print(unicodedata.category('8'))
Nd
>>> print(unicodedata.category('a'))
Ll
>>>
unicodedata.bidirectional(chr)
把⼀个字符给出它的分类,以便进⾏从左到右,还是从右到左的排列。如果没有定义,返回空字符串。
>>> import unicodedata
>>> print(unicodedata.bidirectional('9'))
EN
>>>
>>> print(unicodedata.bidirectional(u'\u0660'))
AN
>>>
>>> print(unicodedata.bidirectional('中'))
L
>>>
>>> print(unicodedata.bidirectional('a'))
现当代诗歌
L
>>>
>>> print(unicodedata.category(u'\u0660'))毛笔楷书字帖图片
Nd
>>>
其中EN表⽰English Number,AN表⽰Arabic Number,L表⽰Letter,Nd是表⽰Number Decimal。
把字符的权威组合值返回,如果没有定义,默认是返回0。当正规化操作时,可以根据这个值进⾏排序,⼤的值排在⼩的值后⾯。>>> import unicodedata
>>> bining('9'))
>>>
>>> bining('A'))
>>>
unicodedata.east_asian_width(chr)
把字符显⽰的宽度返回。具体内容如下:
‘F’(Fullwidth), ‘H’(Halfwidth), ‘W’(Wide), ‘Na’(Narrow), ‘A’(Ambiguous) or ‘N’(Natural).
>>> import unicodedata
>>> print(unicodedata.east_asian_width('9'))
党的问责工作应当坚持的原则
Na
>>>
>>> print(unicodedata.east_asian_width('A'))
Na
>>>
>>> print(unicodedata.east_asian_width('蔡'))
W
>>>
unicodedata.mirrored(chr)
判断⼀个字符是否⽀持镜像属性,如果⽀持返回1,否则返回0.
>>> import unicodedata
>>> print(unicodedata.mirrored('9'))
>>>
>>> print(unicodedata.mirrored('A'))
>>>
经历的近义词
>>> print(unicodedata.mirrored('蔡'))
>>>
unicodedata.decomposition(chr)
把⼀个可分解的字符分成两个16进制的值返回,如果不可分解,返回空。>>> import unicodedata
>>> print(unicodedata.decomposition('9'))
>>>
>>> print(unicodedata.decomposition('-'))
>>>
>>> print(unicodedata.decomposition('蔡'))
>>>
>>> print(unicodedata.decomposition('ガ'))
30AB 3099
>>>