ano*_*oir 52 python string unicode
我一直在浏览Python Cookbook(第2版),以了解如何处理字符串和字符.
我想尝试将数字转换为其Unicode等价物.所以我尝试使用名为' unichr '的内置函数,根据Cookbook,它是这样的:
>>> print repr(unichr(8224))
Run Code Online (Sandbox Code Playgroud)
...并将输出:
u'\u2020'
Run Code Online (Sandbox Code Playgroud)
但是,代码失败了.我认为它与print有关(因为Python 3使用print()而不是print""),但这也没有用.我尝试了几种代码变体,但仍然失败了.最后,我只输入了一个简单的行:
unichr(10000)
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,无论我在上述函数中添加了什么值,这个错误信息都会不断弹出:
NameError: name 'unichr' is not defined
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?是否有一些我应该导入的特定模块?
正如所建议的,这是一种更好的方法,因为它兼容 2 和 3:
\n\n# Python 2 and 3:\nfrom builtins import chr\nassert chr(8364) == \'\xe2\x82\xac\'\n
Run Code Online (Sandbox Code Playgroud)\n\npip install future
如果发生一些错误,您可能需要。
Python 3.x 没有特殊的 Unicode 字符串类型/类。每个字符串都是一个 Unicode 字符串。所以......我会尝试chr
。应该给你什么unichr
pre-3.x. 无法测试,很遗憾。
如果您需要在 python 2 和 python 3 中运行,您可以使用这种通用语法(未使用的语法将指向新语法)
try:
unichr
except NameError:
unichr = chr
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44597 次 |
最近记录: |