【发布时间】:2011-11-26 00:12:59
【问题描述】:
以下代码:
s = s.replace(u"&", u"&")
导致python出错:
SyntaxError: invalid syntax
在" 解决问题之前删除u,但这应该可以正常工作吗?我正在使用 Python 3.1
【问题讨论】:
标签: python python-3.x unicode unicode-literals
以下代码:
s = s.replace(u"&", u"&")
导致python出错:
SyntaxError: invalid syntax
在" 解决问题之前删除u,但这应该可以正常工作吗?我正在使用 Python 3.1
【问题讨论】:
标签: python python-3.x unicode unicode-literals
u 在 Python 3 中不再使用。默认情况下,字符串文字是 unicode。见What's New in Python 3.0。
您不能再将
u"..."文字用于 Unicode 文本。但是,对于二进制数据,您必须使用b"..."文字。
【讨论】:
在 Python 3 上,字符串是 unicode。没有必要(正如您所发现的,您不能)在字符串文字前放置 u 来指定 unicode。
相反,您必须在字节文字之前放置一个b 以指定它不是 unicode。
【讨论】:
在 Python3.3+ 中,unicode 文字再次有效,参见What’s New In Python 3.3:
新的语法特性:
生成器委托的新 yield from 表达式。
再次为 str 对象接受 u'unicode' 语法。
【讨论】: