Я столкнулся со странной проблемой при использовании функции Python base64.b64decode
в строках с b'...'
в них. Это фрагмент кода, иллюстрирующий проблему.
>>> base64.b64encode(b"AAAA")
b'QUFBQQ=='
>>> s1 = "b'QUFBQQ=='"
>>> s2 = "QUFBQQ=="
>>> base64.b64decode(s1)
b'm\x05\x05\x05\x04'
>>> base64.b64decode(s2)
b'AAAA'
Результат из base64.b64encode(b"AAAA")
копируется и сохраняется в виде строки s1
. Я также копирую только байты (то есть символы внутри b'...'
) и сохраняю его как строку s2
. При вызове base64.b64decode
с s1
я получаю ерунду, а при вызове s2
дает ожидаемый результат. Я подозреваю, что символ '
вызывает некоторые проблемы, поскольку он не является допустимым символом base 64.
Что происходит в base64.b64decode(s1)
, что дает странный результат?