ГОСТ ISO/IEC 16388-2017. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода Code 39
A.3 Необязательные режимы передачи данных
В случае специального применения декодеры могут быть запрограммированы на нестандартную обработку символов Code 39 по трем следующим схемам: полный набор кодированных знаков КОИ-7 версии ASCII (см. A.3.1), соединение информации сообщения (см. A.3.2), управляющие функции (см. A.3.3) <1>.
--------------------------------
<1> К необязательным режимам следует отнести кодирование данных на основе букв русского алфавита, приведенное в справочном приложении ДА.
Поскольку эти схемы предполагают специальное программирование декодера, эти режимы не рекомендуются для общего применения, так как это может привести к путанице с обычными символами Code 39.
A.3.1 Полный набор кодированных знаков КОИ-7 (ASCII)
Полный набор 128 знаков КОИ-7 (ASCII) в соответствии с международной ссылочной версией ISO 646 IRV (включая набор управляющих знаков C0 по ISO/IEC 6429, где в качестве знаков с десятичными значениями от 28 до 31 использованы управляющие знаки FS, GS, RS и US соответственно) может быть закодирован комбинациями, состоящими из двух знаков символа Code 39. Первым в комбинации должен быть один из четырех знаков ($ + % /), вторым - один из 26 алфавитных знаков. Эти комбинации представлены в таблице A.2. Если декодер запрограммирован на обработку полного набора знаков КОИ-7 (ASCII), то передаче подлежат только знаки КОИ-7 (ASCII), соответствующие комбинациям знаков символа, а сами значения знаков в комбинации не передаются.
Таблица A.2
Кодирование полного набора знаков
версии КОИ-7 (ASCII) в Code 39 <1>
Знак ASCII | Код | Знак ASCII | Код | Знак ASCII | Код | Знак ASCII | Код |
NUL (ПУС) | %U | SP (ПР) | ПРОБЕЛ | @ | %V | ` | %W |
SOH (НЗ) | $A | ! | /A | A | A | a | +A |
STX (НТ) | $B | " | /B | B | B | b | +B |
ETX (КТ) | $C | # | /C | C | C | c | +C |
EOT (ЕОТ) | $D | $ | /D | D | D | d | +D |
ENQ (КТМ) | $E | % | /E | E | E | e | +E |
ACK (ДА) | $F | & | /F | F | F | f | +F |
BEL (ЗВ) | $G | ' | /G | G | G | g | +G |
BS (ВШ) | $H | ( | /H | H | H | h | +H |
HT (ГТ) | $I | ) | /I | I | I | i | +I |
LF (ПС) | $J | * | /J | J | J | j | +J |
VT (ВТ) | $K | + | /K | K | K | k | +K |
FF (ПФ) | $L | , | /L | L | L | l | +L |
CR (ВК) | $M | - | - | M | M | m | +M |
SO (ВЫХ) | $N | . | . | N | N | n | +N |
SI (ВХ) | $O | / | /O | O | O | o | +O |
DLE (АР1) | $P | 0 | 0 | P | P | p | +P |
DC1 (СУ1) | $Q | 1 | 1 | Q | Q | q | +Q |
DC2 (СУ2) | $R | 2 | 2 | R | R | r | +R |
DC3 (СУ3) | $S | 3 | 3 | S | S | s | +S |
DC4 (СУ4) | $T | 4 | 4 | T | T | t | +T |
NAK (НЕТ) | $U | 5 | 5 | U | U | u | +U |
SYN (СИН) | $V | 6 | 6 | V | V | v | +V |
ETB (КБ) | $W | 7 | 7 | w | w | w | +W |
CAN (АН) | $X | 8 | 8 | X | X | x | +X |
EM (КН) | $Y | 9 | 9 | Y | Y | y | +Y |
SUB (ЗМ) | $Z | : | /Z | Z | Z | z | +Z |
ESC (АР2) | %A | ; | %F | [ | %K | { | %P |
FS (РИ4) | %B | < | %G | \ | %L | | | %Q |
GS (РИ3) | %C | = | %H | ] | %M | } | %R |
RS (РИ2) | %D | > | %I | %N | ~ | %S | |
US (РИ1) | %E | ? | %J | - | %O | DEL (ЗБ) | %T или %X или %Y или %Z |
--------------------------------
<1> В графе "Знаки ASCII" для управляющих знаков приведены международные обозначения, а в скобках - по ГОСТ 27465. Русские и международные наименования управляющих и специальных графических знаков приведены в приложении ДБ.
Примечание - Пары знаков /M и /N декодируются как знаки минус (-) и точка (.) соответственно. Также пары знаков с /P по /Y декодируются как знаки с 0 по 9.
A.3.2 Соединение информации сообщения
В ряде случаев предпочтительно разбивать длинные сообщения для кодирования в нескольких коротких символах. Если первым знаком данных в символе Code 39 является ПРОБЕЛ, декодер может быть запрограммирован на присоединение информации, заключенной в остальной части символа, к хранимой в буферной памяти (непередаваемые данные). Этот процесс продолжает осуществляться для всех последующих символов, начинающихся со знака ПРОБЕЛ, при этом сообщение добавляется к окончанию предыдущего сообщения. Если происходит считывание сообщения, начинающегося не со знака ПРОБЕЛ, его содержание присоединяется к данным, накопленным в буферной памяти, совокупная информация передается из буферной памяти, и буферная память очищается. Там, где имеет значение порядок следования данных, необходимо обеспечить считывание символов в надлежащей последовательности.
A.3.3 Управляющие функции
В замкнутых системах (но не в открытых применениях) можно применять дополнительный специфический системный режим представления данных с использованием комбинаций, состоящих из двух знаков символа из следующего набора: $ % + - . / (специальные графические знаки версии КОИ-7 с десятичными значениями 36, 37, 43, 45, 46, 47) для программирования в системе 36 управляющих функций. Декодеры могут быть специально запрограммированы при обработке таких символов на выполнение определенных функций. В указанном режиме комбинации знаков таких пар не должны передаваться и не должны применяться идентификаторы символики (см. приложение C).
