🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
ProgerLib Питон для всех
на вход подается строка.
строка — результат преобразования.
Man
TWFu
# Константа с символами алфавита Base64
BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
# Создаем словарь для быстрого обратного поиска (декодирования)
BASE64_MAP = {char: index for index, char in enumerate(BASE64_CHARS)}
s = input()
if not s:
print("")
# 1. Преобразуем всю строку в одну длинную битовую строку
bit_string = ""
for char in s:
# Получаем ASCII-код символа и форматируем его в 8-битную двоичную строку
bit_string += format(ord(char), '08b')
encoded_string = ""
# 2. Делим битовую строку на чанки (куски) по 6 бит
i = 0
while i < len(bit_string):
chunk = bit_string[i:i+6]
i += 6
# Если последний чанк короче 6 бит, дополняем его нулями справа
if len(chunk) < 6:
chunk = chunk.ljust(6, '0')
# 3. Конвертируем 6-битный чанк в число и находим символ в алфавите
decimal_value = int(chunk, 2)
encoded_string += BASE64_CHARS[decimal_value]
print(encoded_string)
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...