Python中的字符串相等性失败.是什么赋予了?

kam*_*mek 16 python string comparison equality

好吧,我放弃了.我无法理解我从以下代码(Python 2.6.6)得到的结果:

message.dest = message.dest.strip()
print type(message.dest)
print message.dest
if message.dest == 'UI':
    print "Equal!"
else:
    print "Not Equal!"
Run Code Online (Sandbox Code Playgroud)

不知怎的,我的输出是:

<type 'str'>
UI
Not Equal!
Run Code Online (Sandbox Code Playgroud)

关于这里发生了什么的任何想法?

ani*_*son 6

最初由OP发表在问题的正文.转换为社区维基的答案.

我只想跟进问题,以防其他人发现自己处于类似情况.

问题是message.dest字符串中有ASCII编码的字符,例如,

>>> repr(message.dest)
"'\\x00UI'"
>>> print message.dest
UI
Run Code Online (Sandbox Code Playgroud)

就个人而言,我的困惑主要源于对象类型的事实<type 'str'>.这突出了使用print语句作为调试工具的危险.