Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带'的相同字符串返回FALSE==';在Python中,为什么?_Python_String Comparison - Fatal编程技术网

带'的相同字符串返回FALSE==';在Python中,为什么?

带'的相同字符串返回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]

通过套接字连接接收数据字符串。当接收到第一个示例时,action变量将为'IDENTIFY',它会工作。但是当接收到第二个示例时,其中action变量将='MSG',它不会进行比较

最奇怪的是,当我使用Telnet而不是socket客户端时,两者都被成功地比较了。但是字符串是一样的。。。是否有可能字符串的编码方式不同?我怎么知道

数据示例:

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
这个字符。