因为有时会使用汉语做注释,所以必须将程序的编码方式设为utf-8,而且要使用unicodedata的函数,所以必须在所有代码前加入以下几行代码:
在以后的代码中,为了减少代码量,方便自己与他人阅读,不会再特意写出上面的代码了,在这里特别指出来。
除此之外,为减少输出代码量,若产生的是正确结果,则原样输出结果。若出现错误抛出异常,则只打印是什么异常,如,ValueError或KeyError或TypeError。
1 lookup
语法:unicodedata.lookup(name)
描述:通过一个名称(name)来查找一个字符。如果找到name对应的字符,则返回相应字符;若未找到,则抛出异常KeyError。
示例代码如下:
输出结果为:
2 name
语法:unicodedata.name(chr[, default])
描述:通过字符(chr,只能是单个字符)来查找它的名称。若成功则返回相应名称。给定默认值default后,若未找到对应名称时则返回default值;若未给定默认值,且未找到对应名称则抛出异常ValueError。
示例代码如下:
输出结果为:
3 decimal
语法:unicodedata.decimal(chr[,default])
描述:将unicode字符(chr)转换为其等效的十进制值。以整数形式返回【该字符对应的十进制值】。若未定义这样的值,则返回默认值default;若未指定默认值,则抛出ValueError异常。
示例代码如下:
输出结果为:
4 digit
语法:unicodedata.digit(chr[, default])
描述:将unicode字符(chr)转换为其等效的数字值。以整数形式返回【该字符对应的数字值】。若未定义这样的值,则返回默认值default;若未指定默认值,则抛出ValueError异常。
示例代码如下:
输出结果为:
5 numeric
语法:unicodedata.numeric(chr[, default])
描述:将Unicode字符(chr)转换为等效的数值。以浮点形式返回【与chr相对应的数值】。若未定义这样的值,则返回默认值default;若未指定默认值,则抛出ValueError异常。(把一个表示数字的字符转换为浮点数。比如,可将’5’、'五’转换数值输出。与digit()不同是numeric()可以转换任意表示数值的字符,不仅仅限于0到9的字符)
示例代码如下:
输出结果为:
6 category
语法:unicodedata.category(chr)
描述:返回字符chr在unicode里分类的类型。具体类型见文档结尾附录1。
示例代码如下:
输出结果为
7 combining
(对此函数存疑,不明白“权威组合值”为何物,以后看见了记得必须解决问题)
语法:unicodedata.combining(chr)
描述:返回字符chr的权威组合值,若未定义这样的值,则返回0。
示例代码如下(因为我未找到合适案例使得返回值为【权威组合值】,因此只能选择返回结果0实例,初级程序员,请见谅):
输出结果为:
8 east_asian_width
语法:unicodedata.east_asian_width(chr)
描述:返回字符显示的宽度。具体内容如下:
F:fullwidth,H:halfwidth,W:wide,Na:narrow,A:ambiguous(不明确),N:natural(正常)
示例代码如下:
输出结果如下:
9 mirrored
语法:unicodedata.mirrored()
描述:判断字符chr是否支持镜像属性,支持则返回1,不支持则返回0。
示例代码如下:
输出结果为:
10 decomposition
语法:unicodedata.decomposition(chr)
描述:将一个可分解的字符chr分成两个16进制的值并返回,如果不可分解,返回空。
示例代码如下:
输出结果为:
11 normalize
语法:unicodedata.normalize(form, unistr)
描述:将unicode字符串unistr进行规范化。规范形式form有四种:NFC、NFD、NFKC和NFKD。将字符串规范化是为了方便存储文本或者比较字符串而设计的。
因为知识水平有限,且确实未在网上找到NFKC与NFKD相关信息,我只介绍NFC与NFD。NFC是【使用最少的码位构成等价的字符串】;NFD是【把组合字符分解成基字符和单独的组合字符(两个“组合字符”是不同的,自行体会)】
示例代码如下:
输出结果为:
12 unidata_version
语法:unicodedata.unidata_version
描述:返回当前unicod e使用的数据库的版本
示例代码如下:
输出结果为:
附录1 字符类型
[Cc] Other, Control
[Cf] Other, Format
[Cn] Other, Not Assigned (no characters in the file have this property)
[Co] Other, Private Use
[Cs] Other, Surrogate
[LC] Letter, Cased
[Ll] Letter, Lowercase
[Lm] Letter, Modifier
[Lo] Letter, Other
[Lt] Letter, Titlecase
[Lu] Letter, Uppercase
[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, Close
[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