Mar*_*tus 4 python unicode unicode-literals
我使用的是Python 2.7.3.任何人都可以解释文字之间的区别:
'\u0391'
Run Code Online (Sandbox Code Playgroud)
和:
u'\u0391'
Run Code Online (Sandbox Code Playgroud)
以及它们在下面的REPL中回显的不同方式(特别是添加到a1的额外斜杠):
>>> a1='\u0391'
>>> a1
'\\u0391'
>>> type(a1)
<type 'str'>
>>>
>>> a2=u'\u0391'
>>> a2
u'\u0391'
>>> type(a2)
<type 'unicode'>
>>>
Run Code Online (Sandbox Code Playgroud)
您只能\uabcd在unicode字符串文字中使用unicode escapes().它们在字节字符串中没有意义.Python 2 Unicode literal(u'some text')是python字节字符串('some text')中不同类型的Python对象.
这就像使用\t对比\T; 前者在python文字中有意义(它被解释为制表符),后者只是反斜杠和大写字母T(两个字符).
要帮助理解Unicode和字节字符串之间的区别,请阅读Python Unicode HOWTO ; 我也可以在Unicode文章上推荐Joel Spolsky.
注意:在Python 3中,相同的差异适用,但是'some text'是Unicode字符串文字,并且b'some text'是bytestring语法.
| 归档时间: |
|
| 查看次数: |
5749 次 |
| 最近记录: |