1

我有一些这样的代码:

if temp < 244:
    return ("<-20 "+u"\u00B0"+"F")

但是,当我运行它时,我得到了这个:

"<-20 \xb0F"

为什么会这样?

4

1 回答 1

1

您正在查看字符串的表示,而不是字符串本身。

也许这会澄清:

>>> s = "<-20 "+u"\u00B0"
>>> s
u'<-20 \xb0'
>>> type(s)
<type 'unicode'>
>>> repr(s)
"u'<-20 \\xb0'"
>>> print s
<-20 °
>>> s == u"<-20 °"
True
>>> s == u'<-20 \xb0'
True
>>> s.encode('utf-8')
'<-20 \xc2\xb0'
s.encode('latin1')
'<-20 \xb0'
于 2013-08-21T18:51:03.773 回答