Проект № 1012 Готово
Кодировщик Base64
Скачать для Windows
1012gpt Кодировщик Base64.exe10 МБ · Windows 10–11 · установка не нужнаИсходный код (.py)Скачать для Linux23 МБ · Ubuntu 18.04 и новее · перед запуском: chmod +x
Переделать программу
Назначение
Программа преобразует файлы в текст Base64 и обратно, кодирует и декодирует обычный текст, а также проверяет правильность Base64.
Как пользоваться
- Вкладка «File -> Base64»: нажмите «Обзор...», выберите файл, затем «Конвертировать» — в поле №2 появится содержимое файла в Base64.
- Вкладка «Base64 -> File»: вставьте Base64-текст в поле №1, укажите путь к файлу в поле №2 (или нажмите «Обзор...»), нажмите «Конвертировать из Base64» — файл будет создан.
- Вкладка «Текст <-> Base64»: введите текст слева, нажмите «→» — справа появится Base64. Введите Base64 справа, нажмите «←» — слева появится текст.
- Вкладка «Проверка Base64»: вставьте текст и нажмите «Проверить Base64» — появится сообщение о результате.
Что важно знать
- Поле №2 на первой вкладке доступно только для чтения.
- При пустой панели кнопка «→» или «←» очищает вторую панель.
- При некорректном Base64 кнопка «←» показывает окно «Ошибка: некорректный Base64».
- Пробелы и переводы строк в Base64 игнорируются.
- Если файл уже существует, программа спросит подтверждение перезаписи.
- При неверном пути или ошибке чтения/сохранения программа предложит выбрать другой файл.
- Вставка нетекстовых данных из буфера обмена блокируется с сообщением об ошибке.
- Введённые данные при закрытии программы не сохраняются.
Техническое задание
В программе должно быть 4 вкладки:
1) вкладка с названием "File -> Base64"
2) вкладка с названием "Base64 -> File"
3) вкладка с названием "Текст <-> Base64"
4) вкладка с названием "Проверка Base64"
На первой вкладке есть поле №1 для загрузки файла. Под этим полем находится поле №2 ReadOnly (т.е. пользователь туда сам ничего написать не может). Под последним полем есть кнопка "Конвертировать". После нажатия на кнопку "Конвертировать" в поле №2 появится контент загруженного файла в формате Base64.
На второй вкладке есть поле №1 для текста в формате Base64. Под этим полем находится поле №2 для ввода пути файла, куда необходимо сохранить декодированный контент из Base64.
Под полем №2 находится кнопка "Конвертировать из Base64". По нажатии на неё создается файл по указанному пути и с указанным именем и декодированным из Base64 контентом.
Третья вкладка сложнее.
Левая панель — обычный текст.
Правая панель — Base64-строка.
Кнопки между панелями — две узкие вертикальные кнопки, расположены друг над другом; их суммарная высота равна высоте панелей.
Верхняя, стрелка вправо (→): содержимое правой панели удаляется, туда помещается содержимое левой панели, закодированное в Base64.
Нижняя, стрелка влево (←): содержимое левой панели удаляется, туда помещается содержимое правой панели, декодированное из Base64.
Обе панели редактируемые. Правая кнопка мыши открывает стандартное контекстное меню: вырезать, копировать, вставить.
Допущения:
Кодировка текста — UTF-8.
При некорректном Base64 по кнопке ← показывается сообщение об ошибке, содержимое панелей не меняется.
При нажатии кнопки преобразования, когда соответствующая панель пуста, содержимое второй панели удаляется и она становится пустой.
Принятые решения (автор не уточнял):
При пустой левой панели кнопка → очищает правую панель.
При пустой правой панели кнопка ← очищает левую панель.
При некорректном Base64 в правой панели кнопка ← показывает модальное окно с текстом «Ошибка: некорректный Base64» и кнопкой «ОК».
Пробелы и переводы строк в правой панели игнорируются при декодировании Base64.
Кнопки → и ← всегда активны независимо от содержимого панелей.
Обе панели прокручиваются вертикально и горизонтально при переполнении текста.
Кнопки → и ← имеют фиксированную ширину 24 пикселя.
Суммарная высота двух кнопок равна высоте панелей, каждая кнопка занимает ровно половину этой высоты.
Контекстное меню по правой кнопке мыши доступно в обеих панелях.
Кодирование в Base64 выполняется без переносов строк.
Декодированный текст вставляется в левую панель с заменой её содержимого целиком.
Кнопки → и ← не имеют горячих клавиш.
На четвертой вкладке есть поле, куда вставляется текст в кодировке Base64. Под этим полем есть кнопка "Проверить Base64". По нажатии на нее, если текст действительно представляет из себя правильный Base64-текст, выдается сообщение "Формат Base64 верен". В противном случае - "Данный текст не в формате Base64!"
При невозможности прочитать выбранный файл или сохранить файл по указанному пути программа должна выдать соответствующую ошибку и предложить пользователю выбрать другой файл.
Если пользователь вводит путь к уже существующему файлу, программа должна запросить подтверждение перед перезаписью.
Если пользователь введёт в поле для пути не путь к файлу, а что-то другое, программа должна выдать соответствующую ошибку и предложить пользователю выбрать другой файл.
Если пользователь введёт в поле для пути не путь к файлу, а что-то другое, программа должна выдать соответствующую ошибку и предложить пользователю выбрать другой файл.
Если пользователь введёт в поле для пути не путь к файлу, а что-то другое, программа должна выдать соответствующую ошибку и не давать пользователю продолжать действия, пока путь до файла не будет исправлен.
Если пользователь вставит в поле для Base64-текста на второй вкладке не текст, а картинку или другой файл, программа должна выдать соответствующую ошибку и не давать пользователю продолжать действия, пока в поле для Base64-текста не будет Base64-текст.