Как стать автором
Поиск
Написать публикацию
Обновить

Чтение Micro QR Code версии М3 (кириллица, второй тип библиотек)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров649

Данная публикация является продолжением первой части кодирования кириллицы в микрокодах версии М3.

 Этап 5. Применение полученного алгоритма для M3 АБВГ (второй тип библиотек в сети Интернет)

Так как аналогично предыдущему этапу для M3 АБВГ заготовлена битовая последовательность также заранее, а основной алгоритм очень схож (необходимо будет поменять только маску и функцию комбинации итогового кода), то воспользуемся данным обстоятельством и просто продублируем страницу М3 АБВГДЕ на M3 АБВГ с учетом замены исходного микрокода.

Копируем диапазон ячеек T4:AZ16 на странице М3 АБВГДЕ, переходим на страницу M3 АБВГ. Выбираем ячейку T4, добавляем скопированный фрагмент T4:AZ16 получаем новый анализ служебной информации (рис. 23).

Для M3 АБВГ служебная информация не дублирует служебную информацию для М3 АБВГДЕ. Необходимо использовать маску – 01.

Рисунок 23 – Служебная информация для M3 АБВГ
Рисунок 23 – Служебная информация для M3 АБВГ

Переходим ко второй составляющей – анализ рабочей области микрокода. Результат представлен на рисунке 24.

Рисунок 24 – Пример готового результата для M3 АБВГ
Рисунок 24 – Пример готового результата для M3 АБВГ

Примечание: во втором типе библиотек используется всего четыре символа в отличии от шести символов первого типа библиотек. Попытка добавить пятый символ автоматически переводило уровень М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.

Рисунок 25 – Пример готового результата для M3 АБВГ
Рисунок 25 – Пример готового результата для M3 АБВГ

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

 Этап 6. Применение полученного алгоритма для M3 абвг (второй тип библиотек в сети Интернет)

 Так как заготовлена битовая последовательность для M3 абвг заранее, а основной алгоритм очень схож с М3 АБВГ (необходимо будет поменять только маску и функцию комбинации итогового кода), то воспользуемся данным обстоятельством. Продублируем страницу M3 абвгде на новый лист, добавим расшифровку кода М3 АБВГДЕ и заменим исходный микрокод.

Копируем диапазон ячеек T4:AZ16 на странице М3 АБВГ, переходим на страницу M3 абвг. Выбираем ячейку T4, добавляем скопированный фрагмент T4:AZ16 получаем новый анализ служебной информации (рис. 26).

Для M3 абвг служебная информация полностью дублирует служебную информацию для М3 АБВГ. Необходимо использовать маску – 01.

Рисунок 26 – Служебная информация для M3 абвг
Рисунок 26 – Служебная информация для M3 абвг

Переходим ко второй составляющей – анализ рабочей области микрокода. Копируем соответствующий диапазон ячеек M3 АБВГ. Результат представлен на рисунке 27.

Рисунок 27 – Пример готового результата для M3 абвг
Рисунок 27 – Пример готового результата для M3 абвг

Аналогично предыдущему этапу, в диапазоне ячеек 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!!!

Теги:
Хабы:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Публикации

Ближайшие события