Lo类的基数

时间:2012-08-03 08:10:05

标签: python unicode

我正试图找出像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可能会产生另一个数字。

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”字符可能已被重新分类。

检查:http://www.unicode.org