ГОСТ Р 51294.9—2002
В соответствии с таблицей Н.1 все необязательные поля используют стандарт высокоуровневого коди
рования PDF417. Действующий режим по умолчанию в начале каждого поля должен быть задан в таблице Н.1
безотносительно к функциям фиксации в режиме и регистра в режиме, ранее присутствующим в символе.
Особое построение необязательного поля должно соответствовать нижеследующему:
- поле числа сегментов (segment count) (идентифицирующее общее количество символов PDF417 в распре
деленном файле) может содержать значения от 1 до 99 999 и должно быть закодировано как два кодовых слова.
Если используют необязательное поле числа сегментов, то оно должно быть представлено в каждом сегменте;
- поле отметки времени подлежит интерпретации в режиме цифрового уплотнения. Оно указывает отмет
ку времени в исходном файле, и выглядит как астрономическое время работы в секундах, начиная с
1970:01:01:00:00:00 по Гринвичу (т.е. 00:00:00 среднего времени по Гринвичу на 1 января 1970 г.). Используя
данный формат, четыре кодовых слова могут закодировать любую дату в пределах следующих 200 столетий;
- поле размера файла (file size) содержит размер в байтах исходного единого файла;
- иоле контрольной суммы (checksum) содержит значение контрольной суммы 16-битного (2 байта) цик
лически избыточного кода (CRC), использующей полином СС1ТТ16 х16+ х12+ х5+ 1, вычисленный но все
му исходному единому файлу.
П р и м е ч а н и я
1Размер файла и контрольную сумму следует вычислять из исходного файла до прибавления любых управ
ляющих последовательностей ЕС1, используемых для кодирования интерпретаций расширенного канала. Имеется в
виду, что если приемное устройство проверяет контрольную сумму после осуществления приема, исходный файл
должен быть дословно восстановлен. Это требуется исключительно для проверки данной необязательной
контрольной суммы, чтобы не проводились никакие задаваемые пользователем или необязательные преобразова ния
потока байтов даже в том случае, когда проверка может быть выполнена в процессе декодирования ЕС1.
2 Если используют CRC, вычисление может быть выполнено до отправки данных к принтеру или в самом
принтере на основе возможностей принтера.
Значения указателя поля больше 6 в настоящее время не заданы. Однако оборудование, декодирующее
PDF417, должно декодировать и передавать любые встречающиеся необязательные поля со значением указателя
ноля от 7 до 9 (значение байта от 55 до 57) или от А до Z (значения байта от 65 до 90) путем обработки данных ноля в
качестве данных, исходно находящихся в режиме текстового уплотнения и имеющих переменную длину.
Н.2.4 Ограничитель Макро PDF417
Управляющий блок в символе, представляющем последний сегмент файла Макро PDF417, содержит осо
бый маркер (называемый ограничителем Макро PDF417Macro PDF417 terminator), состоящий из кодового
слова 922 в конце управляющего блока. Управляющий блок любого иного символа должен оканчиваться после
любых необязательных нолей, не имеющих специального ограничителя.
Н.З Рассмотрение высокоуровневого кодирования
Несмотря на то, что Макро PDF417 подразумевает механизм логического связывания множества символов,
при высокоуровневом кодировании PDF417 каждый символ должен оставаться отдельным объектом. Таким обра
зом сфера действия переключения режима должна ограничиваться рамками символа, в котором она возникла. Ка
ждый символ должен обязательно начинаться в подрежиме прописных букв режима текстового уплотнения.
Два обязательных поля закодированы следующим образом: поле индекса сегмента закодировано в режи
ме цифрового уплотнения, а поле идентификации файла кодируется как последовательность чисел базы 900.
В контексте необязательного поля управляющего блока режимы уплотнения, указанные в таблице Н.1,
должны замещать текущие режимы, заданные кодовыми словами идентификатора режима в пределах области
кодовых слов данных символа. Однако сфера действия текущей интерпретации расширенного канала перехо дит
через управляющий блок Макро PDF417 к началу следующего символа Макро PDF417. Каждое поле
управляющего блока Макро начинается с подразумеваемого возврата к ЕС1 000002 (или GL1 0 для устройств
кодирования, совместимых с ранее опубликованными стандартами PDF417). Также должна быть возможность
установить другую ЕС1 внутри необязательного поля управляющего блока в режиме текстового уплотнения,
например, для правильного представления греческого имени получателя. Управляющую последовательность
ЕС1 можно разместить в любой допустимой позиции (4.5.3) после кодового слова 923 (начало необязательного
ноля Макро PDF417Beginning of Macro PDF417 Optional Field).
H.4 Пример кодирования
Приведенный пример показывает кодирование управляющего блока Макро PDF417:
Комплект Макро PDF417 кодирует в общей сложности 4 567 байт, заданных пользователем данных в че
тырех символах PDF417 (или сегментах файлов).
Другие «заголовки» данных, подлежащие кодированию:
- идентификация файла = 17база900536а:!а9оо,
- число сегментов, подлежащих использованию,
- отправитель: CEN BE,
- получатель: ISO СН.
являются тремя необязательны
П р и м е ч а н и еПоля: число сегментов, отправитель и получатель
ми нолями, выбираемыми пользователем.
61