我有一些代码如下:
if temp < 244:
return ("<-20 "+u"\u00B0"+"F")
然而,当我运行它时,我明白了:
"<-20 \xb0F"
为什么会这样?
答案 0 :(得分: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'