ГОСТ Р ИСО 9735-5 - 2012
— для каждого байта данных (databyte) подстроки проверить, следует
липрименятьфильтрационноепреобразованиепутемвыполнения
следующих действий:
— проверить, выполняется ли тождество для результата логического
умножения байта данных на 64 (databyte .and. 64 == 0)?
— если тождество выполняется, то установить в единицу бит 1 байта
данных и соответствующий позиционный бит управляющего байта,
— иначе оставить байт данных и управляющий байт без изменений.
Примечание
— во всех отфильтрованных значениях бит 1 каждого байта должен быть равен 1,
— таким способом из набора графических знаков целевого фильтра исключаются
служебные знаки, используемые по умолчанию.
D.2.3 Дефильтрационное преобразование
Для обратного преобразования отфильтрованной строки в двоичную
строку необходимо:
—разбить строку на восьмибайтовые подстроки (последняя подстрока
должна быть длиной не более восьми байтов),
—рассматривать каждый стартовыйбайткаждойподстрокикак
управляющий байт, а остальные - как байты данных,
—проверить разряд 0 и разряды со 2-го по 7-й управляющего байта,
-позиции ассоциируемых байтов в подстроке -с 1-й по 7-ю,
соответственно,
—если бит управляющего байта равен 0, то оставить байт данных в
соответствующей позиции без изменения,
-еслибит управляющегобайта равен 1, тоустановитьбит1
соответствующего байта данных в ноль.
58