我正试图找出像Lo
这样的Unicode类别的基数。好像我找不到有关它的权威信息。例如。 Fileformat.info维护视图,此类别中有11788
个字符,Codepoints.net低至122
,Python unicodedata
,即使仅限于基本平面,给出45301
!:
In [219]: Lo=[unichr(c) for c in xrange(65536)
if unicodedata.category(unichr(c)) == 'Lo']
In [220]: len(Lo)
Out[220]: 45301
有人能指出我可靠的消息来解决这个问题吗?!
编辑:
Python代码段中len(Lo)
的结果取决于所使用的UCD版本,因此取决于Python版本。我的结果是Python 2.6使用UCD版本5.1,带有UCD 5.2的Python 2.7为同一表达式产生45877
,带有UCD 6.0的Python 3.2可能会产生另一个数字。
答案 0 :(得分:2)
最终信息将是Unicode standard本身。特别是,有关字符数据库的信息可用here,它提供有关Unicode字符数据库的信息。目前的标准有11788 Lo分类代码点。
答案 1 :(得分:1)
引用Python unicodedata
的文档:
此模块提供对Unicode字符数据库的访问权限 定义所有Unicode字符的字符属性。中的数据 此数据库基于UnicodeData.txt文件版本5.2.0 可从ftp://ftp.unicode.org/公开获取。
模块使用与定义相同的名称和符号 UnicodeData文件格式5.2.0(参见 http://www.unicode.org/reports/tr44/tr44-4.html)。它定义了 以下功能:
Unicode联盟在他们的“关于我们”中:
Unicode Consortium是一个致力于的非盈利组织 开发,维护和促进软件国际化 标准和数据,特别是指定的Unicode标准 所有现代软件产品中的文本表示 标准。 Unicode联盟积极制定标准 国际化领域,包括界定行为和 Unicode字符之间的关系。联盟密切合作 W3C和ISO-特别是ISO / IEC / JTC 1 / SC2 / WG2,即 负责维护ISO / IEC 10646,即国际标准 与Unicode标准同步。
查看主页面,看起来当前的标准是6。1(2012年5月),因此自5.2版本(2009年10月)以来,某些“Lo”字符可能已被重新分类。