ГОСТ Р 51294.9—2002
ПРИЛОЖЕНИЕ
С
(обязательное)
Алгоритм кодировании режима бинтового уплотнения
Это преобразование следует использовать в режиме байтового уплотнения. С его помощью могут быть
преобразованы шесть байтов данных в пять кодовых слов данных PDF417 по уравнению
Ь<х
2565
+ Ь4х
2S64
+ Ь,х
2563
+ Ь, х
256*
+ Ь, х
25б‘
+ Ь„х
256"
=
d« х 9004 - d, х 900’ +d; х 900: * d, х 900* +■d>х 900°,
где b — десятичное значение байта данных (от 0 до 255);
d — кодовое слово данных.
Для преобразования базы 256 в базу 900 может быть использован следующий алгоритм:
1. принимают t в качестве временной переменной
2. вычисляют t = b5х 2565+■b4 х 2564- b)х 256J + Ь: х 256: + b, х 2561* 1\,х 256“
3. каждое кодовое слово вычисляют следующих! образом:
для каждого кодового слова данных d, = d>.... d»
НАЧАЛО
dj= t mod 900
t = t div 900
КОНЕЦ
ПРИМЕР:
Требуется закодировать знаки данных в режиме байтового уплотнения Ь<,...,{231, 101. 11, 97. 205. 2}
Вычисляют
c v
m
m
v
t с использованием десятичных значений шести знаков в режиме байтового уплотнения:
t = 231 х 256** 101 х 2564 -г 11 х25б’ + 97х 256*’ + 205х 2561+ 2 х 256°= 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
d, = 282 690 187 413 mod 900= 213
t = 282 690 187 413 div 900= 314 100 208
Вычисляют кодовое слово 2
dj = 314 100 208 mod 900= 208
t = 314 100 208 div 900= 349 000
Вычисляют кодовое слово 3
d, = 349 000 mod 900= 700
t = 349 000 div 900= 387
Вычисляют кодовое слово 4
d4= 387 mod 900= 387
t = 387 div 900= 0
Последовательность кодовых слов d « d ;.представляет собой 387, 700. 208, 213, 302
50