unicodedata.unidata_版本打印错误的unicode版本?

2024-06-17 13:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=2, releaselevel='final', serial=0)

>>> import unicodedata
>>> unicodedata.unidata_version
'5.2.0'

这意味着我的Python版本应该有Unicode 5.2.0。在

但是当我去list of newly added unicode chars in version 5.2.0打印这样的字符时,它没有被识别:

^{pr2}$

Chars from 5.1.0可识别:

>>> print u"\u03CF"
Ϗ

所以,我应该总是在unicodedata.unidata_version实际输出的版本之下计算一个版本,还是我误解了什么?在


Tags: import版本infoversionsysunicodeserialmicro
1条回答
网友
1楼 · 发布于 2024-06-17 13:32:29

您混淆了终端可以打印的内容与Python对unicode字符的了解。在

您的终端字体无法识别这些代码点。Python可以很好地处理它们:

>>> import unicodedata
>>> unicodedata.category(u'\u0803')
'Lo'
>>> unicodedata.name(u'\u0803')
'SAMARITAN LETTER DALAT'
>>> unicodedata.category(u'\u03CF')
'Lu'
>>> unicodedata.name(u'\u03CF')
'GREEK CAPITAL KAI SYMBOL'

讽刺的是,我的浏览器使用的字体并没有为这两个代码点定义图像。你的帖子给我展示了两个占位符:

two placeholder characters

相关问题 更多 >