В Python 2 я мог это сделать:
>>> var='this is a simple string'
>>> var.encode('base64')
'dGhpcyBpcyBhIHNpbXBsZSBzdHJpbmc=\n'
Легко! К сожалению, это не работает в Python 3. К счастью, я смог найти альтернативный способ выполнить то же самое в Python 3:
>>> var='this is a simple string'
>>> import base64
>>> base64.b64encode(var.encode()).decode()
'dGhpcyBpcyBhIHNpbXBsZSBzdHJpbmc='
Но это ужасно! Там должен быть лучший путь! Итак, я немного покопался и нашел второй, альтернативный метод выполнения того, что раньше было очень простой задачей:
>>> var='this is a simple string'
>>> import codecs
>>> codecs.encode(var.encode(),"base64_codec").decode()
'dGhpcyBpcyBhIHNpbXBsZSBzdHJpbmc=\n'
Это еще хуже! Я не забочусь о конце новой строки! Что меня волнует, боже, есть должен , чтобы быть лучшим способом сделать это в Python 3, верно?
Я не спрашиваю "почему". Я спрашиваю, есть ли лучший способ справиться с этим простым делом.