Форум сайта python.su
Доброе время суток.
Подскажите пож-ста что еще добавить в код?
даётся строка в кодировке Base64.
вернуть нужно раскодированную строчку в str.
ответ получается такой.
b'Marni FIGHTS FOR LIFE Old Shack Will rule the kingdom\n'
def decode(line: str) -> str: """ Decode each line. # Hint: base64. # :param line: line from the encoded file. # :return: same decoded line. String. """ return standard_b64decode(line)
Офлайн
Вообще. модуль base64 оперирует с байтовыми объектами. Поэтому ты не можешь ему подать строку, если только дело не происходит во втором питоне. Но второй питон устарел уже и остаётся только в старых проектах. Поэтому для третьего питона тебе сначала нужно перевести (закодировать) строку в байты, потом применить кодирование/раскодирование base64, а потом полученные байты перевести (раскодировать) в строку. Кодировать строки и раскодировать байты можно кодировкой latin1, потому что она кодирует байт в юникод напрямую для первых 256 кодовых точек юникода.
Пример перевод байтов в строку
>>> b = b'test' >>> b b'test' >>> s = b.decode('latin1') >>> s 'test' >>>
Отредактировано py.user.next (Ноя. 4, 2017 03:19:13)
Офлайн