ГОСТ Р 51294.9—2002
ПРИЛОЖЕНИЕ С
(обязательное)
Алгоритм кодирования режима байтового уплотнения
Это преобразование следует использовать в режиме байтового уплотнения. С его помощью могут быть
преобразованы шесть байтов данных в пять кодовых слов данных PDF417 по уравнению
Ь5х 2565+ Ь4х 2564+ Ь3х 2563+ b2х 2562+ b, х 2561+ Ь0х 256° =
d4 х 9004 + d3х 9003+ d2х 9002+ d, х 9001+ d0 х 900°,
где b — десятичное значение байта данных (от 0 до 255);
dкодовое слово данных.
1
Для преобразования базы 256 в базу 900 может быть использован следующий алгоритм:
. принимают
t
в качестве временной неременной
2. вычисляют
t
= b5х 256s + Ь4 х 2564 + b3х 2563+ b2х 2562+ bi х 2561+ Ь0х 256°
3. каждое кодовое слово вычисляют следующим образом:
для каждого кодового слова данных dj = d0.... d4
НАЧАЛО
d;= t mod 900
t = t div 900
КОНЕЦ
ПРИМЕР:
Требуется закодировать знаки данных в режиме байтового уплотнения bs,..., b0 {231, 101, 11, 97, 205, 2}
Вычисляют сумму
t
с использованием десятичных значений шести знаков в режиме байтового уплотнения:
1
= 231 х 2565+ 101 х2564+ 11 х 2563+ 97 х 2562+ 205 х 2561+ 2 х 256°= 254 421 168 672 002
Вычисляют кодовое слово 0
d0= 254 421 168 672 002 mod 900= 302
1
= 254 421 168 672 002 div 900= 282 690 187 413
Вычисляют кодовое слово 1
d, =282 690 187 413 mod 900=213
1
= 282 690 187 413 div 900= 314 100 208
Вычисляют кодовое слово 2
d2= 314 100 208 mod 900= 208
1
= 314 100 208 div 900= 349 000
Вычисляют кодовое слово 3
d3= 349 000 mod 900= 700
1
= 349 000 div 900= 387
Вычисляют кодовое слово 4
d4= 387 mod 900= 387
1
= 387 div 900=0
Последовательность кодовых слов d4,..., d0представляет собой 387, 700, 208, 213, 302
50