我一直在浏览Python食谱(第二版)来学习如何处理字符串和字符。
我想试着把一个数字转换成它的Unicode等价物。所以我试着使用built-in function called 'unichr',根据食谱,它类似于:
>>> print repr(unichr(8224))
。。。并将输出:
u'\u2020'
但是,代码失败了。我认为这与print有关(因为Python 3使用print()而不是print“”),但这并没有成功。我试了几次修改代码,但还是失败了。最后,我只输入了一行:
unichr(10000)
令我惊讶的是,无论我在上面的函数中输入了什么值,这个错误消息都会不断出现:
NameError: name 'unichr' is not defined
有什么问题吗?有没有我要导入的特定模块?
Python 3.x没有特殊的Unicode字符串类型/类。每个字符串都是Unicode字符串。所以。。。我试着
chr
。应该告诉你在3.x之前做了什么,可惜不能测试。在Python 3中,unicode和普通字符串之间已经没有区别了。仅在unicode字符串和二进制数据之间。因此,开发人员最终删除了
unichr
函数,转而使用一个公共的chr
函数,它现在可以像以前的unichr
那样工作。请参阅文档here。在Python 3中,只需使用chr:
相关问题 更多 >
编程相关推荐