ГОСТ Р ИСО/МЭК 18004-2015
второй набор знаков ECI будет результатом завершения первого ECI и начала нового сегмента ECI.
Если в данных появляется какой-либо присвоенный номер ECI. то он должен быть закодирован в сим
воле QR Code в соответствии с 7.4.22 и сразу же за ним должен начинаться новый сегмент режима.
7.4.2.4 ECI и структурированное соединение
Любую (ые) ECI следует применять по правилам, приведенным выше и в спецификации органи
зации AIM, устанавливающей ECI, до окончания кодируемых данных или другой ECI (указанной инди
катором режима 0111). Если кодируемые данные в режиме ECI должны быть размещены в двух или
более символах в режиме структурированного соединения, необходимо предусмотреть заголовок ECI,
состоящий из индикатора режима ECI и присвоенного номера ECI для каждого символа, для которого
действует режим ECI, сразу после заголовка структурированного соединения.
7.4.3 Числовой режим
Входную строку данных разделяют на группы по три цифры, а каждую группу преобразуют в 10-би
товое двоичное число. Если число цифр не делится на три без остатка, последние одна или две цифры
должны быть преобразованы в 4 или 7 битов соответственно. Двоичные данные объединяют и добав
ляют префикс индикатора режима и индикатора числа знаков. Размер в битах и битовое представление
индикатора цифрового режима указаны в таблице 2, размер в битах индикатора числа знаков - в табли це
3. Число знаков входных данных преобразуют в двоичный эквивалент и добавляют как индикатор числа
знаков после индикатора режима и перед кодируемыми данными.
П р и м е р 1 - Преобразование для символа версии 1-Н
Входные данные:
1 Разделяют на группы по три цифры:
01234567
012 345 67
2 Преобразуют каждую группу в ее двоичное представление:
012
->
0000001100
3450101011001
67 -» 1000011
3 Соединяют в последовательность: 0000001100 0101011001 1000011
4 Преобразуют индикатор числа знаков в двоичный вид (10 бит для версии 1-Н):
Число знаков входных данных;8 -> 0000001000
5 Добавляют индикатор режима 0001 и индикатор числа знаков к двоичным данным:
0001 0000001000 0000001100 0101011001 1000011
П р и м е р 2 - Преобразование для символа Micro QR Code версии МЗ-М
Входные данные: 0123456789012345
1 Разделяют на группы по три цифры:012 345 678 901 234 5
2 Преобразуют каждую группу в ее двоичное представление:
012
=
0000001100
345 = 0101011001
678 = 1010100110
901 =1110000101
234 = 0011101010
5 = 0101
3 Соединяют вместе в последовательность:
0000001100 0101011001 1010100110 1110000101 0011101010 0101
4 Преобразуют число знаков в индикатор числа знаков (5 битов для версии МЗ-М):
Число знаков входных данных:16 = 10000
5 Добавляют индикатор режима (00 для версии МЗ-М) и индикатор числа знаков к двоичным данным:
00 10000 0000001100 0101011001 1010100110 1110000101 0011101010 0101
Для всех знаков входных данных длину двоичного потока для числового режима вычисляют по следующей
формуле
В = М * С + Щ О DIV 3) + R.
где В - число битов в двоичном потоке;
М - размер индикатора режима в битах (4 - для символов QR Code или значение, указанное в таблице 2для
символов Micro QR Code);
С - размер индикатора числа знаков в битах (см. таблицу 3);
D - число знаков входных данных:
R = 0. если (D MOD 3) = 0;
R = 4. если (D MOD 3)=1;
R = 7. если (D MOD 3) = 2.
22