ГОСТ ISO/IEC 15438-2018. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417
Приложение C
(обязательное)
АЛГОРИТМ КОДИРОВАНИЯ В РЕЖИМЕ БАЙТОВОГО УПЛОТНЕНИЯ
Это преобразование следует использовать в режиме байтового уплотнения. С его помощью могут быть преобразованы шесть байтов данных в пять кодовых слов данных PDF417 по уравнению
b5·2565 + b4·2564 + b3·2563 + b2·2562 + b1·2561 + b0·2560 =
= d4·9004 + d3·9003 + d2·9002 + d1·9001 + d0·9000,
где b - значение байта данных (от 0 до 255);
d - кодовое слово данных.
Для преобразования базы 256 в базу 900 может быть использован следующий алгоритм:
a) принимают t в качестве временной переменной;
b) вычисляют t = b5·2565 + b4·2564 + b3·2563 + b2·2562 + b1·2561 + b0·2560;
c) каждое кодовое слово вычисляют следующим образом:
для каждого кодового слова данных di = d0 .... d4
НАЧАЛО di = t mod 900 t = t div 900 КОНЕЦ |
Пример - Требуется закодировать знаки данных в режиме байтового уплотнения b5 .... b0 {231, 101, 11, 97, 205, 2}.
Вычисляют сумму t с использованием десятичных значений шести знаков в режиме байтового уплотнения:
t = 231·2565 + 101·2564 + 11·2563 + 97·2562 + 205·2561 + 2·2560 = 254 421 168 672 002
Вычисляют кодовое слово 0
d0 = 254 421 168 672 002 mod 900 = 302
t = 254 421 168 672 002 div 900 = 282 690 187 413
Вычисляют кодовое слово 1
d1 = 282 690 187 413 mod 900 = 213
t = 282 690 187 413 div 900 = 314 100 208
Вычисляют кодовое слово 2
d2 = 314 100 208 mod 900 = 208
t = 314 100 208 div 900 = 349 000
Вычисляют кодовое слово 3
d3 = 349 000 mod 900 = 700
t = 349 000 div 900 = 387
Вычисляют кодовое слово 4
d4 = 387 mod 900 = 387
t = 387 div 900 = 0
Последовательность кодовых слов d4 ... d0 представляет собой 387, 700, 208, 213, 302.
