Rozszerzona interpretacja kanałów
Extended Channel Interpretation (ECI) jest rozszerzeniem protokołu komunikacyjnego używanego do przesyłania danych z czytnika kodów kreskowych do hosta podczas skanowania symbolu kodu kreskowego . Dzięki niemu aplikacja otrzymuje dodatkowe informacje o zamierzonej interpretacji komunikatu zawartego w symbolu kodu kreskowego, a nawet szczegóły dotyczące samego skanu. ECI został opracowany jako symboliki rozszerzenie systemu Global Label Identifier (GLI) używanego w kodzie kreskowym PDF417 .
Opis
W trybie domyślnym, w którym rozszerzona interpretacja kanałów nie działa, mówi się, że interfejs między czytnikiem a hostem działa w „trybie kanału podstawowego”. W tym trybie każdy oktet przesyłanych danych jest definiowany (przez odpowiedni standard symboliki kodu kreskowego) tak, aby odpowiadał bezpośrednio pojedynczemu punktowi kodu znaku danych w pewnym domyślnym zestawie znaków, zwykle ISO/IEC 8859-1 (Latin-1).
Jednak gdy ECI działa, mówi się, że interfejs danych jest w „trybie rozszerzonego kanału”. W tym trybie interpretacja przesyłanych danych jest określana przez aktualnie włączone tryby ECI, które są aktywowane i dezaktywowane przez „wskaźniki ECI” zawarte w przesyłanych danych.
W protokole transmisji danych użycie ECI jest wyraźnie wskazane przez modyfikację wskaźnika symboliki, którą dekoder rozpozna i odpowiednio zinterpretuje w celu rozróżnienia między komunikatami zakodowanymi w ECI i nie zakodowanymi w ECI. Jeśli czytnik nie obsługuje ECI lub aplikacja nie obsługuje obowiązujących wskaźników ECI, należy przerwać skanowanie.
Informacje ECI nie są częścią ostatecznej wiadomości z kodem kreskowym, a ich użycie jest zwykle niewidoczne dla użytkownika w podstawowych scenariuszach skanowania obrazu. Aplikacja przedstawia użytkownikowi zamierzoną wiadomość, ale zwykle nie wyświetla różnych wskaźników ECI, które zostały użyte do uzyskania tej wiadomości lub dostarczenia adnotacji lub dodatkowych metadanych. W przypadku zaawansowanych aplikacji (w tym debugowania systemu i sprawdzania poprawności danych) informacje ECI mogą być wyświetlane w linii z komunikatem kodu kreskowego lub wyodrębniane i prezentowane oddzielnie.
Rodzaje wskaźnika EIO
Wskaźniki ECI mogą być zawarte w różnych punktach przesyłanej wiadomości i mogą być albo typu „kodowalnego”, albo typu „niekodowalnego” lub „sygnałowego”.
- Kodowalne ECI
- Te wskaźniki są częścią wiadomości i określają format całości lub części danych, na przykład zamierzony zestaw znaków lub obowiązujący schemat kompresji danych, taki jak Gzip .
- ECI sygnału
- Te wskaźniki nie są częścią komunikatu i mogą być osadzone w symbolu kodu kreskowego oddzielnie od komunikatu lub mogą w ogóle nie być obecne w symbolu, ale są dodawane przez czytnik w czasie skanowania. ECI sygnału służą do przekazywania informacji o przetwarzaniu danych, np. czy jest to fragment procesu skanowania wielosymbolowego, czy wystąpił błąd podczas odczytu, a nawet do dostarczania informacji o środowisku, takich jak poziom oświetlenia otoczenia zmierzone lub zapewniają wskazanie niskiego poziomu naładowania baterii.
Typowy przypadek użycia: Włącz obsługę międzynarodowych zestawów znaków
Najczęstszym zastosowaniem rozszerzonej interpretacji kanałów jest umożliwienie niezawodnego użycia w symbolach kodów kreskowych zwykle nieobsługiwanych zestawów znaków narodowych , takich jak arabski , grecki lub japoński . Symbol kodu kreskowego z obsługą ECI może wykorzystywać kilka zestawów znaków poprzez osadzenie kilku zestawów wskaźników ECI w celu rozgraniczenia segmentów wiadomości, które są zakodowane przy użyciu różnych stron kodowych.
W przypadku większości symboli kodów kreskowych domyślną stroną kodową (jeśli nie została określona przez ECI) jest ISO/IEC 8859-1 (znana również jako Latin-1 ), jak pokazano pogrubioną czcionką poniżej. Dobrze znane wartości ECI, które są powszechnie używane do wskazania, że segment wiadomości jest zakodowany przy użyciu określonej strony kodowej lub kodowania znaków :
wskaźnik EIO | Strona kodowa lub kodowanie | Notatki |
---|---|---|
\000000, \000002 | Strona kodowa 437 | |
\000001, \000003 | ISO/IEC 8859-1 | łacina-1 |
\000004 | ISO/IEC 8859-2 | łacina-2 |
\000005 | ISO/IEC 8859-3 | łacina-3 |
\000006 | ISO/IEC 8859-4 | łacina-4 |
\000007 | ISO/IEC 8859-5 | łaciński/cyrylica |
\000008 | ISO/IEC 8859-6 | łaciński/arabski |
\000009 | ISO/IEC 8859-7 | łaciński/grecki |
\000010 | ISO/IEC 8859-8 | łaciński/hebrajski |
\000011 | ISO/IEC 8859-9 | łacina-5 |
\000012 | ISO/IEC 8859-10 | łacina-6 |
\000013 | ISO/IEC 8859-11 | łacina/tajski |
\000015 | ISO/IEC 8859-13 | łacina-7 |
\000016 | ISO/IEC 8859-14 | Latin-8 (celtycki) |
\000017 | ISO/IEC 8859-15 | łacina-9 |
\000018 | ISO/IEC 8859-16 | łacina-10 |
\000020 | Zmień JIS | |
\000021 | Windows-1250 | Nadzbiór Latin-2 |
\000022 | Windows-1251 | łaciński/cyrylica |
\000023 | Windows-1252 | Nadzbiór Latin-1 |
\000024 | Windows-1256 | arabski |
\000025 | UTF-16 | duży endian |
\000026 | UTF-8 | |
\000027 | US-ASCII | |
\000028 | Duży5 | |
\000029 | GB 18030 | |
\000030 | EUC-KR |
Linki zewnętrzne
- Międzynarodowy standard techniczny AIM ITS / 04-001: rozszerzone interpretacje kanałów zarchiwizowane 27 kwietnia 2012 r. W Wayback Machine