Графическая кодировка
Сервис: Colorpack
Переводит исходный текст в сокращённую кодировку, кодированный текст переводится в изображение. Доступно и в обратном порядке: декодирование картинки, декодирование текста.
Кодировка
□abcdefghijklmnopqrstuvwxyz_.,^#1234567890()+-*/lt;gt;=quot;amp;|$%[]{}?#39;:;
^
используется для поднятия регистра букв и ввода некоторых дополнительных символов. Несколько символов вводятся самостоятельными комбинациями. Сам символ ^
недоступен для ввода. Русские символы транслитерируются и обратно не восстанавливаются. Все остальные неподдерживаемые вырезаются.
Примеры замен
^^aa AA
^a A
^. !
^/ \
^ \n
Последовательные группы, которые можно выразить одним “шифтом”, сразу обозначаются им через ^^
. Например DOOM
будет закодировано как ^^doom
, а не ^d^o^o^m
(что тоже корректно).
Результат кодирования теста переводится в цветные пиксели. Кодировка шестибитная, а в трёх цветовых каналах одного пикселя 24 бита, т.е. один пиксель может кодировать четыре символа.
Размер цветной ячейки и длина строки в ячейках настраивается. Кодированное изображение содержит информацию о размере ячейки, что позволяет загружать изображения, созданные с размерами ячеек от 1 до 99 пикселей. Реализовано скачивание картинки на смартфонах.
Алгоритм перевода текста в цвет
- Текстовые символы группируются по четыре;
- Каждый преводится в 6-битное двоичное число;
- Эти числа склеиваются слева-направо в одно 24-битное число;
- 24-битное делится на три 8-битных. Это и есть цветовые каналы пикселя.
- Повторить с другими группами символов.
- Если осталось меньше четырёх символов, пустые места забиваются нулями.
Скрин
История
Изначально, из-за ошибки расчёта, разрабатывалась 36-символьная кодировка. В ней не было отдельных цифр, математических символов и много чего. Они вводились через цифровой режим #
. Позже кодировка расширена до 64-символьной и модификатор #
полностью удалён.
В написании кода использовались подсказки ChatGPT-3.5.