Unicode文字导致语法无效

时间:2011-09-27 12:22:32

标签: python python-3.x unicode unicode-literals

以下代码:

s = s.replace(u"&", u"&")

在python中导致错误:

SyntaxError: invalid syntax

u修复问题之前移除",但这应该按原样运行?我正在使用Python 3.1

3 个答案:

答案 0 :(得分:10)

Python 3中不再使用u。默认情况下,字符串文字是unicode。请参阅What's New in Python 3.0

  

您无法再将u"..."字面值用于Unicode文本。但是,您必须将b"..."文字用于二进制数据。

答案 1 :(得分:3)

在Python 3上,字符串是unicode。没有必要(并且你已经发现,你不能)在字符串文字之前放置一个u来指定unicode。

相反,您必须在字节文字前加上b来指定它不是 unicode。

答案 2 :(得分:1)

在Python3.3 + unicode文字中再次有效,请参阅What’s New In Python 3.3

  

新语法功能:

     

生成器委派表达式的新收益率。
   str对象再次接受u'unicode'语法。