带'的相同字符串返回FALSE==';在Python中,为什么?
通过套接字连接接收数据字符串。当接收到第一个示例时,action变量将为'IDENTIFY',它会工作。但是当接收到第二个示例时,其中action变量将='MSG',它不会进行比较 最奇怪的是,当我使用Telnet而不是socket客户端时,两者都被成功地比较了。但是字符串是一样的。。。是否有可能字符串的编码方式不同?我怎么知道 数据示例:带'的相同字符串返回FALSE==';在Python中,为什么?,python,string-comparison,Python,String Comparison,通过套接字连接接收数据字符串。当接收到第一个示例时,action变量将为'IDENTIFY',它会工作。但是当接收到第二个示例时,其中action变量将='MSG',它不会进行比较 最奇怪的是,当我使用Telnet而不是socket客户端时,两者都被成功地比较了。但是字符串是一样的。。。是否有可能字符串的编码方式不同?我怎么知道 数据示例: data = 'IDENTIFY 54143' or data = 'MSG allo' action = data.partition(' ')[0]
data = 'IDENTIFY 54143'
or
data = 'MSG allo'
action = data.partition(' ')[0]
if action == "MSG":
self.sendMessage(data)
elif action == "IDENTIFY":
self.sendIdentify(data)
else:
print "false"
无法重现您的问题。要调试它,请打印或记录
数据和操作的repr()
:这可能会向您显示原因(可能有一些不可见的二进制字节潜入数据,这取决于您如何获得它[[您没有向我们显示]],从而进入操作)。无法重现您的问题。要调试它,请打印或记录数据和操作的repr()
:这可能会向您显示原因(可能有一些不可见的二进制字节潜入数据,这取决于您获取数据的方式[[您没有向我们显示]],从而进入操作)。“\x00MSG Allo”这就是我得到的。我会设法找到逃避它的方法。太多了!Tks因为我是python新手,所以我不知道repr()。@plehoux:您可以lstrip
这个字符。“\x00MSG Allo”这就是我得到的。我会设法找到逃避它的方法。太多了!Tks因为我是python新手,所以我不知道repr()。@plehoux:您可以lstrip
这个字符。