Base64 многонаправленный конвертер в Text, Html, графику и наоборот

ZennoLab Team

Super Moderator
Команда форума
Регистрация
22.01.2019
Сообщения
2 150
Реакции
4 685
Баллы
113

Баннер 1500 × 500@1x.png

Base64 Encoder / Decoder — утилита для работы с Base64 без браузера и интернета​


Небольшая предыстория

Не секрет, что онлайн-сервисов для работы с Base64 немало: открыл сайт, вставил строку — получил результат. Но когда такие операции нужны регулярно, хочется иметь небольшой универсальный инструмент, который всегда под рукой. Без поиска нужной страницы, переключения вкладок и зависимости от интернет-соединения.

Так появилась идея Base64 Encoder / Decoder — настольной утилиты для Windows, которая позволяет кодировать текст и файлы в Base64, выполнять обратное преобразование и сразу просматривать результат. Всё обрабатывается локально: для работы не нужно загружать данные на сторонние сайты.

Два режима работы​


1. Кодирование в Base64​

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

Доступны два варианта:
  • Вставить или набрать текст в верхнем поле и нажать «Кодировать». Текст преобразуется в байты UTF-8, после чего кодируется в Base64.
  • Нажать «Загрузить файл…» и выбрать файл на компьютере. Программа сразу сформирует Base64 из его исходных байтов и выведет результат в нижнее поле.
При работе с файлами утилита не ограничивается текстовыми форматами. Можно закодировать изображение, архив, документ или другой файл: преобразуется именно его содержимое, без предварительного изменения кодировки.

Результат выводится одной Base64-строкой, без добавления переносов строк. Для переноса в другую программу предусмотрена отдельная кнопка «Копировать».

2. Раскодирование из Base64​

В этом режиме Base64-строка преобразуется обратно в данные.

Строку можно вставить в верхнее поле вручную либо загрузить из текстового файла через кнопку «Загрузить файл…». После нажатия «Раскодировать» программа определяет, как представить результат:
  • Текст — показывает раскодированное содержимое в нижнем поле.
  • HTML — отображает исходный код, а не открывает страницу в браузере.
  • Изображение — показывает превью вместо текстового поля.
  • Бинарные данные — выводит размер и HEX-дамп первых 256 байт, если содержимое не распознано как поддерживаемое изображение или текст.
В текущей версии предусмотрено распознавание PNG, JPEG, GIF и BMP с выводом превью, если изображение успешно открывается встроенными средствами.

Поддерживаются обычные Base64-строки и строки с префиксом вида data:image/png;base64,.... Пробелы и переносы строк во входных данных не мешают обработке.

Простой интерфейс: исходные данные сверху, результат снизу​

Главное окно организовано так, чтобы весь процесс был виден на одном экране.

В верхней части расположены:
  • переключатель режимов «Раскодирование из Base64» и «Кодирование в Base64»;
  • кнопка «Загрузить файл…»;
  • кнопка выполнения операции — «Кодировать» или «Раскодировать» в зависимости от выбранного режима;
  • кнопка «Очистить» для сброса содержимого полей и результата.
Далее идут два больших поля:
  • Верхнее — для исходного текста или Base64-строки.
  • Нижнее — для результата преобразования. При раскодировании изображения на его месте появляется графическое превью.
Рядом с каждым полем находится собственная кнопка «Копировать». Верхняя копирует исходное содержимое, нижняя — результат. Если внизу отображается изображение, кнопка копирует в буфер обмена саму картинку.

Текстовые поля используют моноширинный шрифт и полосы прокрутки. Это удобно для длинных Base64-последовательностей, HTML-кода и многострочного текста. Внизу окна выводятся сведения о типе обработанных данных и их размере в байтах.

Кириллица и большие тексты​

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

Для отображения текстовых данных предусмотрены обработка UTF-8, UTF-16 с BOM и резервное чтение Windows-1251. Возможность работы с Windows-1251 зависит от доступности этой кодировки в используемой сборке .NET; автоматическое определение кодировки файла без BOM не может быть безошибочным во всех случаях.

Также снято ограничение длины полей, которое мешало переносу больших строк. Длинный раскодированный текст выводится частями, чтобы избежать наблюдавшегося обрезания содержимого.

Для каких задач пригодится​

Утилита будет полезна, когда нужно:
  • подготовить Base64 для API-запроса, скрипта или проекта автоматизации;
  • преобразовать файл в строку для дальнейшей передачи;
  • посмотреть содержимое Base64 из ответа сервера или журнала;
  • быстро проверить закодированное изображение;
  • получить исходный HTML из Base64;
  • выполнить преобразование без использования онлайн-сервисов.

Что важно учитывать​

Base64 — это способ представления данных, а не шифрование. Полученная строка не защищает содержимое от чтения.

Кроме того, распознавание типа данных служит для удобного просмотра, а не заменяет полноценный анализ формата. Например, результат «Бинарные данные» при раскодировании архива или документа сам по себе не означает ошибку: программа восстановила байты, но не имеет отдельного просмотрщика для этого формата.

Base64 Encoder / Decoder — небольшой инструмент для повседневных задач: запустил, вставил текст или выбрал файл, выполнил преобразование и скопировал результат. Без лишних вкладок и привязки к онлайн-сервисам.

Скриншот интерфейса:

1792681738345.png


Приложен архив с утилитой, там полный комплект файлов и .exe файл.
Единственное требование - на ПК должен быть установлен компонент .Net Framework 4.8.

Проверено на вирусы. Отчет с virustotal.com: https://www.virustotal.com/gui/file...a0a98213d2a3fe81762eb838f811212cdfb/detection
 

Вложения

  • Оценить
Реакции: n0n3mi1y и Dr.Pipetka

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)