🎉 बधाई! 🎉
आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।
ProgerLib सभी के लिए Python
एक प्रोग्राम लिखें जो ASCII एन्कोडिंग का उपयोग करके लाइन मान को Base64 प्रारूप में परिवर्तित करता है। नोट: & nbsp; इस कार्य में बिना भराव वाले Base64 संस्करण का उपयोग किया गया है (अंत में & nbsp; = प्रतीक नहीं जोड़ा जाता है)। Base64 एल्गोरिदम बाइनरी डेटा को टेक्स्ट प्रारूप में परिवर्तित करता है, जिसमें केवल 64 ASCII प्रतीकों का उपयोग किया जाता है जो मुद्रण के लिए सुरक्षित हैं। मुख्य विचार इनपुट डेटा के 3 बाइट्स (24 बिट्स) लेना और उन्हें 4 वर्णों (4 * 6 बिट्स = 24 बिट्स) के रूप में प्रस्तुत करना है।
कोडिंग ( to_base64 ):
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ) से एक प्रतीक चुनने के लिए सूचकांक के रूप में किया जाता है। इनपुट में एक पंक्ति दी गई है।
पंक्ति & mdash; परिवर्तन का परिणाम।
आदमी
ट्वफू
# Константа с символами алфавита 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
विज्ञापन
कोड चल रहा है...