如何比较python中不同编码的字符串?

2024-10-01 04:47:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个操作两个字符串的函数。当我打电话时:

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==


Tags: 函数字符串gttoken编码typeunicodeutf
1条回答
网友
1楼 · 发布于 2024-10-01 04:47:39

结果发现,第一个字符串位于外部并具有正确的base64编码,而第二个字符串在python中使用b64encode进行编码,这会添加\n。使字符串不相等。将其更改为b64encode修复了错误。你知道吗

相关问题 更多 >