Python unicode 字符串文字 :: '\u0391' 和 u'\u0391' 之间有什么区别

2024-01-05

我正在使用Python 2.7.3。谁能解释一下文字之间的区别:

'\u0391'

and:

u'\u0391'

以及它们在下面的 REPL 中的不同方式(特别是添加到 a1 的额外斜杠):

>>> a1='\u0391'
>>> a1
'\\u0391'
>>> type(a1)
<type 'str'>
>>> 
>>> a2=u'\u0391'
>>> a2
u'\u0391'
>>> type(a2)
<type 'unicode'>
>>> 

您只能使用 unicode 转义符 (\uabcd) 在 unicode 字符串中。它们在字节字符串中没有任何意义。 Python 2 Unicode 文字 (u'some text') 是与 Python 字节字符串 ('some text').

这就像使用\t versus \T;前者在 python 文字中具有含义(它被解释为制表符),后者仅表示反斜杠和大写 T(两个字符)。

为了帮助理解 Unicode 和字节字符串之间的区别,请阅读Python Unicode 指南 http://docs.python.org/2/howto/unicode.html;我还可以推荐Joel Spolsky 关于 Unicode 的文章 http://www.joelonsoftware.com/articles/Unicode.html.

注意:在 Python 3 中,同样存在差异,但是'some text'是一个 Unicode 字符串文字,并且b'some text'是字节串语法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python unicode 字符串文字 :: '\u0391' 和 u'\u0391' 之间有什么区别 的相关文章

随机推荐