ГОСТ ISO/IEC 15438-2018. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417
Приложение D
(обязательное)
АЛГОРИТМ КОДИРОВАНИЯ В РЕЖИМЕ ЦИФРОВОГО УПЛОТНЕНИЯ
Это преобразование должно использоваться в режиме цифрового уплотнения. С его помощью могут быть преобразованы группы, содержащие до 44 последовательных цифровых разрядов включительно, в 15 (или менее) кодовых слов данных PDF417.
Для преобразования базы 10 в базу 900 может быть использован следующий алгоритм:
a) принимают t в качестве временной переменной;
b) устанавливают начальное значение t в виде группы последовательных цифровых разрядов, количество которых доходит до 44, которой предшествует единица;
c) каждое кодовое слово вычисляют в следующем порядке:
Для каждого кодового слова данных di = d0 .... dn-1
НАЧАЛО di = t mod 900 t = t div 900 Если t = 0, то кодирование прекращается КОНЕЦ |
Пример - Требуется закодировать числовую цепочку из 15 цифр 000213298174000
В начале числовой цепочки ставят 1 и устанавливают исходное значение в виде:
t = 1 000 213 298 174 000
Вычисляют кодовое слово 0
d0 = 1 000 213 298 174 000 mod 900 = 200
t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082
Вычисляют кодовое слово 1
d1 = 1 111 348 109 082 mod 900 = 282
t = 1 111 348 109 082 div 900 = 1 234 831 232
Вычисляют кодовое слово 2
d2 = 1 234 831 232 mod 900 = 632
t = 1 234 831 232 div 900 = 1 372 034
Вычисляют кодовое слово 3
d3 = 1 372 034 mod 900 = 434
t = 1 372 034 div 900 = 1 524
Вычисляют кодовое слово 4
d4 = 1 524 mod 900 = 624
t = 1 524 div 900 = 1
Вычисляют кодовое слово 5
d5 = 1 mod 900 = 1
t = 1 div 900 = 0
Последовательность кодовых слов d5 ... d0 представляют в виде: 1, 624, 434, 632, 282, 200.
