问题描述
如何检查Python正在使用哪个版本的Unicode标准? Python是否会自动使用Unicode标准的最新版本?我是否需要更新Python或某个软件包才能使用Unicode标准的最新版本?
例如,最新版本的Unicode标准13.0版于2020年3月发布,并且可以从财团的网站上以电子格式获得。如果我使用2017年3月21日发布的Python 3.6.1,我是否可以受益于Unicode 13.0带来的所有更新?
我知道Unicode是所有计算机都应该遵守的国际标准,但是我不确定Python如何处理它。预先感谢!
P.S。我说的是Python 3,我不考虑Python2。帖子发布于2020年10月21日。
解决方法
在标准库的unicodedata模块中指定了Unicode字符数据库的版本。
>>> # Python 3.9
>>> import unicodedata
>>> unicodedata.unidata_version
'13.0.0'
Unicode数据被编译到每个Python版本中,因此没有简单的方法来更新版本。
此pull request显示了将版本从12.1升级到13.0的操作。
值得注意的是,使用旧版本的Python不会阻止您处理包含较新字素的文本,只会阻止您使用它们上unicodedata
模块中的功能。