我有一个可以处理2个字符串的函数。当我打电话时:
print("%s %s" % (first, second))
我知道了
role/token:9Gxc8Q role/token:9Gxc8Q
但是first == second
是错误的。
我认为存在编码问题,并尝试了以下方法:
frsts.encode('utf-8') == second.encode('utf-8')
又是假的。
有什么办法比较这些字符串吗?
已更新
print("%s %s" % (type(first), type(second))
-> <type 'unicode'> <type 'str'>
print("%r %r" % (first, second))
-> <type 'unicode'> <type 'str'>
将字符串值编码为base64,然后进行比较:cm9sZS90b2tlbjo5R3hjOFE==
和cm9sZS90b2tlbjo5R3hjOFE==
答案 0 :(得分:0)
事实证明,第一个字符串在外部并且具有正确的base64encoding,而第二个字符串则在Python中使用b64encode
进行了编码,并添加了\n
。并使字符串不相等。将其更改为b64encode
可修复该错误。