Протокол интерпретации расширенного канала (протокол ECI) позволяет интерпретировать исходящий поток данных отлично от интерпретации набора знаков по умолчанию. Протокол ECI применяется также в ряде иных символик (например, PDF417, Data matrix, QR Code и др.).
MaxiCode поддерживает четыре типа интерпретаций:
a) международные наборы знаков (или кодовые страницы);
b) интерпретации общего назначения (кодирование и уплотнение);
c) интерпретации, определяемые пользователем для замкнутых систем;
d) управляющая информация для структурированного соединения в небуферизованном режиме.
Протокол ECI [3] позволяет последовательно определять значения байтов знаков перед печатью и после декодирования.
Протокол ECI идентифицируют шестизначным числом, которое кодируется в символе MaxiCode знаком [ECI] и следующими за ним кодовыми словами в количестве от одного до четырех.
Специфическую интерпретацию расширенного канала можно использовать в любом месте кодируемого сообщения при всех режимах кодирования, кроме символов в режимах 2 и 3 (4.6.1).
Интерпретация расширенного канала может быть использована только совместно с устройствами считывания, способными передавать идентификаторы символик. Устройства считывания, не способные передавать идентификаторы символик, не смогут передать данные, в символе которых содержится значение ECI. Исключение составляют случаи, когда значения ECI обрабатываются самим устройством считывания.
4.6.1 Интерпретация расширенного канала и режимы кодирования 2 и 3
Режимы кодирования 2 и 3 используют для кодирования в первичном сообщении структурированного сообщения носителя (4.8.3).
При использовании режимов кодирования 2 и 3 значения ECI могут располагаться только во вторичном сообщении.
4.6.2 Режимы кодирования и знаки [ECI]
Используемый режим кодирования строго определен 8-битными закодированными значениями данных и не зависит от действующей интерпретации расширенного канала. Например, последовательность знаков с десятичными значениями от 48 до 57 будет закодирована наиболее эффективно в цифровом режиме даже в том случае, если последовательность не интерпретируется как цифровая.
4.6.3 Кодирование интерпретаций расширенного канала в MaxiCode
Назначение интерпретации расширенного канала (ECI) вызывается при помощи кодового слова 27 - знака [ECI]. Для кодирования номера назначения ECI (ECI Assignment Number) используют от одного до четырех дополнительных кодовых слов. Правила кодирования определены в таблице 3.
Таблица 3 - Кодирование номера назначения ECI (ECI Assignment Number)
Значение номера назначения ECI | Последовательность кодовых слов | Значения кодовых слов |
От 000000 до 000031 | [27][0bbbbb] | |
" 000000 " 001023 | 127][10bbbb][bbbbbb] | |
" 000000 " 032767 | [27] [110bbb] [bbbbbb] [bbbbbb] | |
" 000000 " 999999 | [27] [1110bb] [bbbbbb] [bbbbbb] [bbbbbb] | |
Примечание - b...b - это двоичное значение номера назначения ECI. |
Примечание - При декодировании двоичная комбинация кодового слова С1 (т.е. кодового слова, следующего за кодовым словом 27) определяет длину последовательности ECI. Количество битов со значением 1 перед первым нулевым битом определяет количество дополнительных кодовых слов, используемых для определения номера назначения ECI (ECI Assignment Number). Последовательность битов, следующая за первым нулевым битом, является номером ECI в двоичном представлении.
Номера назначения ECI (ECI Assignment Number) с наименьшими значениями могут быть закодированы различными способами, наиболее предпочтительным является кратчайший.
4.6.4. Интерпретации расширенного канала и структурированное соединение
Интерпретации расширенного канала могут кодироваться в любом месте сообщения как в единичном наборе символов, так и в наборе символов MaxiCode структурированного соединения, но не могут содержаться в первичных сообщениях для режимов 2 и 3. Любая вызванная интерпретация расширенного канала (ECI) должна действовать до окончания кодируемых данных или до начала следующей интерпретации расширенного канала (ECI). Таким образом, интерпретация в рамках одной ECI может охватить два и более символов.
4.6.5. Протокол после декодирования
Протокол передачи данных интерпретации расширенного канала (ECI) должен соответствовать 4.15.2. При использовании интерпретаций расширенного канала (ECI) идентификаторы символик (4.15.3) должны быть использованы полностью и соответствующий идентификатор символики должен быть передан в качестве префикса сообщения.