Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2017 23:33:15

igor110
Зарегистрирован: 2017-10-23
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

кодировка base 64

Доброе время суток.
Подскажите пож-ста что еще добавить в код?
даётся строка в кодировке 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)

заранее благодарю.

Офлайн

#2 Ноя. 4, 2017 03:15:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9897
Репутация: +  855  -
Профиль   Отправить e-mail  

кодировка base 64

Вообще. модуль base64 оперирует с байтовыми объектами. Поэтому ты не можешь ему подать строку, если только дело не происходит во втором питоне. Но второй питон устарел уже и остаётся только в старых проектах. Поэтому для третьего питона тебе сначала нужно перевести (закодировать) строку в байты, потом применить кодирование/раскодирование base64, а потом полученные байты перевести (раскодировать) в строку. Кодировать строки и раскодировать байты можно кодировкой latin1, потому что она кодирует байт в юникод напрямую для первых 256 кодовых точек юникода.

Пример перевод байтов в строку

  
>>> b = b'test'
>>> b
b'test'
>>> s = b.decode('latin1')
>>> s
'test'
>>>



Отредактировано py.user.next (Ноя. 4, 2017 03:19:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version