Расширенная интерпретация канала
Расширенная интерпретация канала (ECI) — это расширение протокола связи , которое используется для передачи данных от устройства считывания штрих-кода на хост при штрих-кода сканировании символа . Это позволяет прикладному программному обеспечению получать дополнительную информацию о предполагаемой интерпретации сообщения, содержащегося в символе штрих-кода, и даже подробности о самом сканировании. ECI был разработан как независимое от символов расширение системы глобального идентификатора этикетки (GLI), используемой в штрих-коде PDF417 .
Описание
[ редактировать ]В режиме по умолчанию, когда расширенная интерпретация канала не действует, интерфейс между считывателем и хостом находится в «режиме базового канала». В этом режиме каждый октет передаваемых данных определяется (соответствующим стандартом символики штрих-кода) как соответствующий одной кодовой точке символа данных в некотором наборе символов по умолчанию, обычно ISO/IEC 8859-1 (Latin-1).
Однако, когда действует ECI, говорят, что интерфейс данных находится в «режиме расширенного канала». В этом режиме интерпретация передаваемых данных определяется текущими включенными режимами ECI, которые активируются и деактивируются «индикаторами ECI», включенными в передаваемые данные.
В протоколе передачи данных использование ECI явно обозначается модификацией индикатора символики, который декодер распознает и интерпретирует соответствующим образом, чтобы устранить неоднозначность между сообщениями, закодированными в формате ECI, и сообщениями, не закодированными в формате ECI. Если считыватель не поддерживает ECI или приложение не поддерживает действующие индикаторы ECI, сканирование следует прервать.
Информация ECI не является частью окончательного сообщения штрих-кода, и ее использование обычно прозрачно для пользователя в базовых сценариях сканирования изображений. Приложение представляет пользователю предполагаемое сообщение, но обычно не отображает различные индикаторы ECI, которые использовались для получения этого сообщения или для предоставления аннотаций или дополнительных метаданных. Для расширенных приложений (включая отладку системы и проверку данных) информация ECI может отображаться вместе с сообщением штрих-кода или извлекаться и представляться отдельно.
Виды индикатора ECI
[ редактировать ]Индикаторы ECI могут быть включены в различные точки передаваемого сообщения и могут быть либо «кодируемого», либо «некодируемого», либо «сигнального» типа.
- Кодируемые ECI
- Эти индикаторы являются частью сообщения и определяют формат всех или части данных, например предполагаемый набор символов или действующую схему сжатия данных, например Gzip .
- Сигнальные ECI
- Эти индикаторы не являются частью сообщения и могут быть либо встроены в символ штрих-кода отдельно от сообщения , либо вообще не присутствовать в символе, а добавляться считывателем во время сканирования. Сигнальные ECI используются для передачи информации об обработке данных, например, является ли это фрагментом процесса многосимвольного сканирования, возникла ли ошибка во время чтения, или даже для предоставления информации об окружающей среде, например, какой уровень окружающего освещения был измерения или обеспечить индикацию низкого заряда батареи.
Распространенный вариант использования: включение поддержки международных наборов символов.
[ редактировать ]Наиболее распространенное использование расширенной канальной интерпретации — обеспечение обычно неподдерживаемых национальных наборов символов, таких как арабский , греческий или японский . надежного использования в символах штрих-кода [1] Символ штрих-кода с поддержкой ECI может использовать несколько наборов символов путем внедрения нескольких индикаторов ECI набора символов для разделения сегментов сообщения, которые закодированы с использованием разных кодовых страниц.
Для большинства символов штрих-кодов кодовой страницей по умолчанию (если она не указана ECI) является ISO/IEC 8859-1 (также известная как Latin-1 ), как показано жирным шрифтом ниже. Хорошо известные значения ECI, которые обычно используются для указания того, что сегмент сообщения закодирован с использованием определенной кодовой страницы или кодировки символов : [2] [3]
Индикатор ECI | Кодовая страница или кодировка | Примечания |
---|---|---|
\000000, \000002 | Кодовая страница 437 | |
\000001, \000003 | ИСО/МЭК 8859-1 | Латиница-1 |
\000004 | ИСО/МЭК 8859-2 | Латиница-2 |
\000005 | ИСО/МЭК 8859-3 | Латиница-3 |
\000006 | ИСО/МЭК 8859-4 | Латиница-4 |
\000007 | ИСО/МЭК 8859-5 | Латиница/Кириллица |
\000008 | ИСО/МЭК 8859-6 | Латинский/арабский |
\000009 | ИСО/МЭК 8859-7 | Латинский/Греческий |
\000010 | ИСО/МЭК 8859-8 | Латынь/иврит |
\000011 | ИСО/МЭК 8859-9 | Латиница-5 |
\000012 | ИСО/МЭК 8859-10 | Латиница-6 |
\000013 | ИСО/МЭК 8859-11 | Латинский/тайский |
\000014 | Сдержанный | |
\000015 | ИСО/МЭК 8859-13 | Латиница-7 |
\000016 | ИСО/МЭК 8859-14 | Латиница-8 (Кельтская) |
\000017 | ИСО/МЭК 8859-15 | Латиница-9 |
\000018 | ИСО/МЭК 8859-16 | латиница-10 |
\000019 | Сдержанный | |
\000020 | Сдвиг HE | |
\000021 | Windows-1250 | Суперсет Латины-2 |
\000022 | Windows-1251 | Латиница/Кириллица |
\000023 | Windows-1252 | Суперсет латины-1 |
\000024 | Windows-1256 | арабский |
\000025 | UTF-16 | Большой порядок байтов |
\000026 | UTF-8 | |
\000027 | ИСО/МЭК 646:1991 ИРВ | США-ASCII |
\000028 | Большой5 | |
\000029 | ГБ/Т 2312 | |
\000030 | КС Х 1001 | |
\000031 | ГБК | |
\000032 | ГБ 18030 | |
\000033 | UTF-16 | Маленький порядок байтов |
\000034 | UTF-32 | Большой порядок байтов |
\000035 | UTF-32 | Маленький порядок байтов |
\000170 | ИСО/МЭК 646 ИНВ. | |
\000899 | 8-битные двоичные данные |