无法在Python3.1中使用unichr

2024-04-28 03:57:05 发布

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

我一直在浏览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

有什么问题吗?有没有我要导入的特定模块?


Tags: 函数字符串代码inunicodefunction数字字符
3条回答

Python 3.x没有特殊的Unicode字符串类型/类。每个字符串都是Unicode字符串。所以。。。我试着chr。应该告诉你在3.x之前做了什么,可惜不能测试。

在Python 3中,unicode和普通字符串之间已经没有区别了。仅在unicode字符串和二进制数据之间。因此,开发人员最终删除了unichr函数,转而使用一个公共的chr函数,它现在可以像以前的unichr那样工作。请参阅文档here

在Python 3中,只需使用chr

>>> chr(10000)
'✐'

相关问题 更多 >