Сравнение строки декодированной из base64
Почему две одинаковые строки не одинаковы, как правильно их сравнить?
import base64
b64 = 'AAAAAFN0YWtlIDE4NS4yMDAwMDAwMDAgYWNjZXB0ZWQ=\n'
msg = 'Stake 185.200000000 accepted'
base64_bytes = b64.encode('utf-8')
decode_bytes = base64.b64decode(base64_bytes)
decode = decode_bytes.decode('utf-8')
print(decode) #Stake 185.200000000 accepted
print(msg) #Stake 185.200000000 accepted
print(decode==msg) #False
Ответы (1 шт):
Автор решения: Dmitry Bukhvalov
→ Ссылка
Спасибо за наводку, в терминале строки выглядели одинаково. Решил проблему, удалив нулевые символы функцией strip()
import base64
b64 = 'AAAAAFN0YWtlIDE4NS4yMDAwMDAwMDAgYWNjZXB0ZWQ=\n'
msg = 'Stake 185.200000000 accepted'
base64_bytes = b64.encode('utf-8')
decode_bytes = base64.b64decode(base64_bytes)
decode = decode_bytes.decode('utf-8').strip().strip('\x00')
print(repr(decode)); print(repr(msg))
print(decode==msg)