Кодирование в рунах
Сделал небольшой шуточный проект – утилита кодирования двоичных данных, аналогично Base32, но на основе англосаксонских (древнегерманских) рун. Код доступен на GitHub. Base32 это алгоритм кодирования данных, использующий латинский алфавит. Он устроен аналогично несколько более широко известному Base64. Смысл использования подобных схем кодирования в том, чтобы отобразить произвольные “двоичные данные” в алфавит, который можно передать через “текстовый канал”, например, электронной почтой (или даже в виде простой распечатки). Конечно, с рунами этот фокус не сработает. Поэтому – проект шуточный.
Руны входят в таблицы Unicode. (“Обобщённые” символы Unicode тоже называют рунами, но в нашем случае – речь про конкретное подмножество, про англосаксонские руны.) Используемое кодирование (представление Unicode) занимает по три байта на каждую руну. При этом для записи 40 битов (пять байтов) в Base32 используется 8 символов: каждый символ несёт пять битов, откуда, собственно, число 32 == 2^5. То есть, получается, что Base32 на основе рунического письма в Unicode превращает пять байтов исходных данных в 24 байта (восьмибитных) закодированного текста. Не очень-то экономно. Оригинальный вариант Base32, построенный на латинском ASCII-алфавите и ASCII-цифрах, даёт результат лучше: пять байтов кодируются восемью байтами (если при кодировании текста используется привычное, 8-битное, представление байта). Но руны выглядят интереснее, что подтверждается скриншотом ниже, на котором запечатлён TLS-сертификат, записанный в runic32.
Примеры использования утилиты, написанной на Go, приведены на странице репозитория Runic32 в GitHub.
Адрес записки: https://dxdt.ru/2021/06/17/9060/
Похожие записки:
- "SMD-развёртка" 555-го таймера
- Двухщелевой опыт с ИИ
- Кабели и квантовые процессоры
- Кибернетический след в "Илиаде" и цветовой сдвиг
- Различительная способность "обезличенных" данных
- Общее представление о шифрах и бэкдоры
- Работа GPS и коррекция по данным многих устройств
- Автомобили-роботы из "обязательной" сети такси
- Свойства протокола скрытого обмена сообщениями
- Реплика: уточнение о языках программирования
- Физико-химические структуры от AI Google
Комментарии читателей блога: 2
1. 17th June 2021, 23:45 // Читатель Nataraj написал:
И высечь в камне!
2. 28th June 2021, 20:22 // Читатель alex написал:
Можно на 3D-принтере напечатать – будет гламурно
Написать комментарий