Новый проект
Проект № 1012 Готово

Кодировщик Base64

Примерный вид программы «Кодировщик Base64»
Примерный вид. Реальная программа может выглядеть иначе.
Скачать для Windows
1012gpt Кодировщик Base64.exe10 МБ · Windows 10–11 · установка не нужнаИсходный код (.py)Скачать для Linux23 МБ · Ubuntu 18.04 и новее · перед запуском: chmod +x
Переделать программу

Назначение

Программа преобразует файлы в текст Base64 и обратно, кодирует и декодирует обычный текст, а также проверяет правильность Base64.

Как пользоваться

  1. Вкладка «File -> Base64»: нажмите «Обзор...», выберите файл, затем «Конвертировать» — в поле №2 появится содержимое файла в Base64.
  2. Вкладка «Base64 -> File»: вставьте Base64-текст в поле №1, укажите путь к файлу в поле №2 (или нажмите «Обзор...»), нажмите «Конвертировать из Base64» — файл будет создан.
  3. Вкладка «Текст <-> Base64»: введите текст слева, нажмите «→» — справа появится Base64. Введите Base64 справа, нажмите «←» — слева появится текст.
  4. Вкладка «Проверка 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-текст.