Данная публикация является продолжением первой части кодирования кириллицы в микрокодах версии М3.
Этап 5. Применение полученного алгоритма для M3 АБВГ (второй тип библиотек в сети Интернет)
Так как аналогично предыдущему этапу для M3 АБВГ заготовлена битовая последовательность также заранее, а основной алгоритм очень схож (необходимо будет поменять только маску и функцию комбинации итогового кода), то воспользуемся данным обстоятельством и просто продублируем страницу М3 АБВГДЕ на M3 АБВГ с учетом замены исходного микрокода.
Копируем диапазон ячеек T4:AZ16 на странице М3 АБВГДЕ, переходим на страницу M3 АБВГ. Выбираем ячейку T4, добавляем скопированный фрагмент T4:AZ16 получаем новый анализ служебной информации (рис. 23).
Для M3 АБВГ служебная информация не дублирует служебную информацию для М3 АБВГДЕ. Необходимо использовать маску – 01.
Переходим ко второй составляющей – анализ рабочей области микрокода. Результат представлен на рисунке 24.
Примечание: во втором типе библиотек используется всего четыре символа в отличии от шести символов первого типа библиотек. Попытка добавить пятый символ автоматически переводило уровень М3 на уровень выше – М4. Остановимся на четырех символах.
Как уже было упомянуто ранее, данный код также полностью не совпадает с байтовым режимом и с кодовой комбинацией Таблицы ДА.3 ГОСТ. Но так как альтернативных режимов в ГОСТ просто больше нет, будем и далее использовать алгоритм декодирования последовательности бит на примере байтового режима. Начинаем разбирать секреты второго типа бесплатных библиотек сети Интернет (пример использования библиотеки). Заполним все ячейки функциями, согласно таблице 5 (если не заполнено).
В диапазоне ячеек W23:X23 указан код 10 – обозначает наличие байтового режим (таблица 2 ГОСТ. Уже хорошее начало, в отличии от первого типа библиотек. Разбираем дальше. Следующий диапазон из 4-х бит в ячейках Y23:AB23 – диапазон, отображающий битовую комбинацию – 1000 или число 8 (по количеству искомых в микрокоде символов, умноженных на 2). Получается, что для второго типа также должен использоваться полный аналог дополнительных кодовых комбинаций, как и в универсальной кодовой системе. Напомню, в UTF-8 используются 8-битовые комбинации, в UTF-16 – 16-битовые комбинации и т.д. Здесь также как и в первом типе просматривается кодовая последовательность короче. Возвращаемся к кодам Ричарда Хэмминга: мощность искусственного алфавита (кириллицы) дает порядок в 6 бит. Следовательно, первая буква искусственного алфавита будет 000000 или другая аналогичная комбинация. Находим первую последовательность из шести нулей, получаем диапазон Y27:AD27. Значит с кодом первой буквы А угадали. Осталось определить кодовый индикатор. Диапазон W29:X31 и будет индикатором – 1000010001 (ужас, и это еще один секрет программистов моделистов Ассоциации). Почему выбрано именно это число – есть только одно предположение. Число 529 – знак возможностей преображения и нового восприятия окружающего мира, шутники. Если проверить дальше по коду последовательности, то получим полный скрытый (абсолютно не по ГОСТ) алфавит.
Возвращаемся к первой букве А – в ячейку AF27:AH27 добавляем функцию =СЦЕП(Y27:AD27), получаем 000000 (рис. 25). Первый индикатор будет =СЦЕП(W27:X27;W25:AD25). Следующая буква Б алфавита – в ячейку AF31:AH31 добавляем функцию = СЦЕП(Y31:AD31), получаем последовательность 000001. Перед символом аналогичный индикатор. Третья буква В – в ячейку AF35:AH35 добавляем функцию =СЦЕП(Y35:AD35), получаем последовательность 000010. Буква Г – в ячейку AF39:AH39 добавляем функцию =СЦЕП(Y39:AD39), получаем – 000011. Как и следовало ожидать, аналогично первому типу, просматривается схожая последовательность порядковых номеров букв алфавита кириллицы от 0 до 32. Код буквы Я – 100000.
Итак, очередной секрет программистов моделистов раскрыт. На данном моменте можно остановиться, так как алфавиты библиотек обоих типов совпадают. Перейдем к буквам малого регистра первого типа библиотек.
Этап 6. Применение полученного алгоритма для M3 абвг (второй тип библиотек в сети Интернет)
Так как заготовлена битовая последовательность для M3 абвг заранее, а основной алгоритм очень схож с М3 АБВГ (необходимо будет поменять только маску и функцию комбинации итогового кода), то воспользуемся данным обстоятельством. Продублируем страницу M3 абвгде на новый лист, добавим расшифровку кода М3 АБВГДЕ и заменим исходный микрокод.
Копируем диапазон ячеек T4:AZ16 на странице М3 АБВГ, переходим на страницу M3 абвг. Выбираем ячейку T4, добавляем скопированный фрагмент T4:AZ16 получаем новый анализ служебной информации (рис. 26).
Для M3 абвг служебная информация полностью дублирует служебную информацию для М3 АБВГ. Необходимо использовать маску – 01.
Переходим ко второй составляющей – анализ рабочей области микрокода. Копируем соответствующий диапазон ячеек M3 АБВГ. Результат представлен на рисунке 27.
Аналогично предыдущему этапу, в диапазоне ячеек W23:X23 указан код 10 – обозначает наличие байтового режима (таблица 2 ГОСТ). Следующий диапазон из трех бит в ячейках Y23:AA23 – диапазон, отображающий битовую комбинацию – 1000 или число 8 (по количеству искомых в микрокоде символов). Проверка в ячейке AD23 подтверждает полученное значение.
Получены аналогичные первому типу кодовые комбинации для букв кириллицы малого регистра. Буква а – 110000, буква б – 110001, в – 110010, г – 110011, д – 110110 и е – 110101. Т.е., малые буквы начинаются с числа 48 в десятичном эквиваленте.
Аналогично первому типу библиотек, необходимо внести изменения. Сравниваем полученные числовые значения со значениями на странице Code:
Ячейка |
Функция |
U27 |
=ЕСЛИ(AF27=Code!K2;Code!J2;"-") |
U31 |
=ЕСЛИ(AF31=Code!K3;Code!J3;"-") |
U35 |
=ЕСЛИ(AF33=Code!K4;Code!J4;"-") |
U39 |
=ЕСЛИ(AF37=Code!K5;Code!J5;"-") |
В результате получаем полное совпадение кодовой составляющей.
P.S.: как уже стало понятно из описания и данных этапов, реализованное во второй библиотеке кодирование микрокодов аналогично первому типу никак не представлено в стандартах. Следовательно, данный алгоритм, как и для других режимов, – ноу-хау программиста или программистов моделистов программного модуля Ассоциации. Согласно ГОСТ, необходимо использовать Таблицу ДА.3 и байтовый режим.
Удачи в декодировании байтовых последовательностей.
Micro QR Code версии M3!!!