ГОСТ Р ИСО/МЭК 16022-2008
Группа П85
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Автоматическая идентификация
КОДИРОВАНИЕ ШТРИХОВОЕ
Спецификация символики Data Matrix
Automatic identification. Bar coding. Data Matrix symbology specification
ОКС 35.040
Дата введения 2010-01-01
Предисловие
Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. N 184-ФЗ "О техническом регулировании", а правила применения национальных стандартов Российской Федерации - ГОСТ Р 1.0-2004 "Стандартизация в Российской Федерации. Основные положения"*
____________
* На территории Российской Федерации документ не действует. Действует ГОСТ Р 1.0-2012. - .
Сведения о стандарте
1 ПОДГОТОВЛЕН Ассоциацией автоматической идентификации "ЮНИСКАН/ГС1 РУС" совместно с Обществом с ограниченной ответственностью (ООО) НПЦ "Интелком" на основе аутентичного перевода стандарта, указанного в пункте 4, выполненного ООО НПЦ "Интелком"
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 355 "Автоматическая идентификация"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 18 декабря 2008 г. N 509-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 16022:2006* "Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода Data Matrix" (ISO/IEC 16022:2006 "Information technology - Automatic identification and data capture techniques - Data Matrix bar code symbology specification"), за исключением приложения U, содержащего сведения о соответствии терминов на русском и английском языках, приложения V, включающего в себя сведения о наборах знаков по ИСО/МЭК 646, ИСО/МЭК 8859-1 и ИСО/МЭК 8859-5. В приложении М приведены исправления в соответствии со списком технических опечаток 1 (Technical Corrigendum 1) к ISO/IEC 16022.1:2006.
________________
* Доступ к международным и зарубежным документам, упомянутым здесь и далее по тексту, можно получить перейдя по ссылке на сайт . -
Наименование национального стандарта изменено относительно наименования указанного международного стандарта для приведения в соответствие с ГОСТ Р 1.5-2004* (подраздел 3.5) и учета его принадлежности к группе стандартов "Автоматическая идентификация".
_______________
* На территории Российской Федерации документ не действует. Действует ГОСТ Р 1.5-2012. - .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных (региональных) стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении W
5 ВВЕДЕН ВПЕРВЫЕ
ВНЕСЕНО Изменение N 1, утвержденное и введенное в действие Приказом Росстандарта от 26.09.2013 N 1112-ст c 01.01.2014
Изменение N 1 внесено изготовителем базы данных по тексту ИУС N 1, 2014 год
Информация об изменениях к настоящему стандарту публикуется в ежегодно издаваемом информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячно издаваемых информационных указателях "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе "Национальные стандарты". Соответствующая информация, уведомления и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет
Введение
Data Matrix - двухмерная матричная символика, состоящая из квадратных модулей, упорядоченных внутри периметра шаблона поиска. В настоящем документе представление символа и его описание приведено, главным образом, для темных модулей на светлом фоне. Тем не менее, символы Data Matrix также могут быть напечатаны в виде светлых модулей на темном фоне.
Производителям оборудования и пользователям технологии штрихового кодирования необходима общедоступная стандартная спецификация символики, на которую они могли бы ссылаться при разработке оборудования и стандартов по применению. С этой целью и был разработан настоящий стандарт.
Следует обратить внимание на возможность того, что некоторые элементы, включенные в настоящий стандарт, могут быть объектом патентного права, и организации ИСО и МЭК не берут на себя ответственность за определение некоторых или всех подобных патентных прав.
Сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста стандарта.
1 Область применения
1 Область применения
Настоящий стандарт устанавливает требования к символике Data Matrix*, а также параметры символики, кодирование знаков данных, форматы символов, требования к размерам и качеству печати, правила исправления ошибок, алгоритм декодирования и прикладные параметры, выбираемые пользователем.
________________
* Название символики произносится как Дата Матрикс, что в переводе на русский язык - "матрица данных".
Настоящий стандарт распространяется на все символы символики Data Matrix, напечатанные или нанесенные каким-либо другим способом.
2 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты и другие нормативные документы*, которые необходимо учитывать при использовании настоящего стандарта. В случае ссылок на документы, у которых указана дата утверждения, необходимо пользоваться только указанной редакцией. В случае, когда дата утверждения не приведена, следует пользоваться последней редакцией ссылочных документов, включая любые поправки и изменения к ним:
_______________
* Таблицу соответствия национальных стандартов международным см. по ссылке. - .
ИСО/МЭК 15424 Информационные технологии. Технологии автоматической идентификации и сбора данных. Идентификаторы носителей данных (включая идентификаторы символик) (Information technology - Automatic identification and data capture techniques - Data Carrier Identifiers (including Symbology Identifiers)
ИСО/МЭК 19762-1 Информационные технологии. Технологии автоматической идентификации и сбора данных. Гармонизированный словарь. Часть 1. Общие термины, связанные с автоматической идентификацией и сбором данных (Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 1: General terms relating to AIDC)
ИСО/МЭК 19762-2 Информационные технологии. Технологии автоматической идентификации и сбора данных. Гармонизированный словарь. Часть 2. Средства для оптического считывания (Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 2: Optically readable media (ORM))
ИСО/МЭК 15415 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний качества печати символов штрихового кода. Двумерные символы (Information technology - Automatic identification and data capture techniques - Bar code print quality test specification - Two-dimensional symbols)
ИСО/МЭК 15416 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний качества печати символов штрихового кода. Линейные символы (Information technology - Automatic identification and data capture techniques - Bar code print quality test specification - Linear symbols)
ИСО/МЭК 646:1991 Информационные технологии. Набор 7-битовых кодированных знаков ИСО для обмена информацией (Information technology - ISO 7-bit coded character set for information interchange)
ИСО/МЭК 8859-1 Информационные технологии. Наборы 8-битовых однобайтных кодированных графических знаков. Часть 1. Латинский алфавит N 1 (Information technology - 8-bit single-byte coded graphic character sets - Part 1: Latin alphabet N 1)
ИСО/МЭК 8859-5:1999 Информационные технологии. Наборы 8-битовых однобайтных кодированных графических знаков. Часть 5. Латинский/кирилловский алфавит (Information technology - 8-bit single-byte coded graphic character sets - Part 5: Latin/Cyrillic alphabet)
AIM Inc. ITS/04-001 Международный технический стандарт. Интерпретации в расширенном канале. Часть 1. Схемы идентификации и протокол (AIM Inc. ITS/04-001 International Technical Standard: Extended Channel Interpretations - Part 1: Identification Schemes and Protocol)
3 Термины, определения, символы и математические/логические обозначения
3.1 Термины и определения
В данном документе используются термины, определенные в ИСО/МЭК 19762-1, ИСО/МЭК 19762-2, а также следующие:
3.1.1 кодовое слово (codeword): Значение знака символа, формируемое на промежуточном уровне кодирования в процессе преобразования исходных данных в их графическое представление в символе.
3.1.2 модуль (module): Отдельная ячейка матричной символики, используемая для кодирования одного бита информации и имеющая номинально квадратную форму в символах Data Matrix.
3.1.3 сверточное кодирование (convolutional coding): Алгоритм контроля и исправления ошибок, преобразующий множество битов на входе во множество битов на выходе, которое может быть восстановлено после повреждения, путем кодирования с разделением множества входящих битов на блоки с последующим проведением операции свертки каждого входящего блока с регистром сдвига со множеством состояний для получения защищенных на выходе блоков.
Примечание - Такие алгоритмы кодирования могут быть реализованы с помощью аппаратных средств путем использования входных и выходных коммутаторов, регистров сдвига и вентилей исключающих ИЛИ*.
________________
* Международное обозначение операции исключающее ИЛИ: exclusive-or - XOR.
3.1.4 шаблонная рандомизация (pattern randomising): Процедура, с помощью которой исходный набор битов превращают в другой набор битов путем инвертирования отдельных битов с целью уменьшения вероятности повторения в символе одинаковых наборов.
3.2 Символы
В данном документе, если иное не предусмотрено в особых случаях, применяют следующие математические символы:
- число кодовых слов исправления ошибок; | |||
- число стираний; | |||
- (для версии ЕСС 000-140) число битов в полном сегменте на входе в конечный автомат для генерирования сверточного кода; | |||
- порядок памяти сверточного кода; | |||
- (для версии ЕСС 000-140) число битов в полном сегменте, сгенерированных конечным автоматом, порождающим сверточный код; | |||
- числовое основание в схеме кодирования; | |||
- число кодовых слов, зарезервированных для обнаружения ошибок; | |||
- знак символа; | |||
- число ошибок; | |||
- сегмент битов на входе в конечный автомат, принимающий битов за единицу времени; | |||
- сегмент битов на выходе из конечного автомата, генерирующего битов за единицу времени; | |||
- горизонтальный и вертикальный размеры модуля; | |||
- кодовое слово исправления ошибок. |
3.3 Математические обозначения
В настоящем стандарте используются следующие обозначения и математические операции:
div | - оператор деления на целое число; | ||
mod | - остаток при делении на целое число; | ||
XOR | - исключающее ИЛИ (exclusive-or) - логическая функция или операция, результатом которой является единица только в случае неэквивалентности двух входов; | ||
LSB | - младший значащий разряд (Least Significant Bit); | ||
MSB | - старший значащий разряд (Most Significant Bit). |
4 Описание символов
4.1 Основные параметры
Data Matrix представляет собой двумерную матричную символику.
Существуют две версии символики Data Matrix:
- версия, обозначаемая ЕСС 200, в которой используют алгоритм исправления ошибок Рида-Соломона. Версия ЕСС 200 рекомендуется для разработки любого нового применения;
- версия, обозначаемая ЕСС 000-140, с несколькими доступными уровнями сверточного исправления ошибок, такими как ЕСС 000, ЕСС 050, ЕСС 080, ЕСС 100 и ЕСС 140. Версию ЕСС 000-140 следует использовать только для замкнутых прикладных систем, в которых одна и та же сторона контролирует создание и считывание символов и обеспечивает функционирование всей системы.
Символика Data Matrix имеет следующие параметры:
a) кодируемый набор знаков:
1) знаки набора ASCII (версии КОИ-7) по ИСО/МЭК 646* (согласно национальной версии США**) (далее - знаки ASCII (КОИ-7)) с десятичными значениями от 0 до 127.
________________
* Набор знаков ASCII (версия КОИ-7) по ИСО/МЭК 646 приведен в приложении V.
** Набор знаков по ANSI INCITS 4-1986 (R2007) Information Systems - Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII) (Информационные системы - Кодированные наборы знаков - 7-битовый американский национальный стандартный код для обмена информацией (7-битовый ASCII).
Примечание 1 - Указанная версия ASCII (КОИ-7) состоит из набора знаков G0 по ИСО/МЭК 646 и С0 по ИСО/МЭК 6429, в котором знаки с десятичными значениями от 28 до 31 соответствуют знакам FS, GS, RS и US соответственно;
2) знаки расширенного набора ASCII (версия КОИ-8) по ИСО/МЭК 8859-1* (далее - знаки расширенного набора ASCII (КОИ-8)) с десятичными значениями от 128 до 255;
b) представление данных: темный модуль соответствует двоичной единице, светлый - двоичному нулю.
________________
* Набор знаков расширенного набора ASCII (КОИ-8) приведен в приложении V.
Примечание 2 - Настоящий стандарт определяет символы Data Matrix как темные модули, расположенные на светлом фоне. Однако в 4.2 предусмотрено, что символы могут также быть образованы с заменой цвета на противоположный, и для таких символов положения настоящего стандарта в отношении темных модулей должны применяться к светлым модулям и наоборот;
c) размеры символа в модулях (без учета свободной зоны):
- для версии ЕСС 200 - от 10х10 до 144х144, только четные значения;
- для версии ЕСС 000-140 - от 9х9 до 49 на 49, только нечетные значения;
d) число знаков данных в символе (для символа максимального размера версии ЕСС 200):
1) алфавитно-цифровые данные - до 2335 знаков,
2) в 8-битовых байтах - 1555 знаков,
3) числовые данные - 3116 числовых разрядов;
e) задаваемое исправление ошибок:
- для версии ЕСС 200 - исправление ошибок Рида-Соломона;
- для версии ЕСС 000-140 - четыре уровня исправления ошибок на основе сверточного кода плюс (по выбору) только обнаружение ошибки;
f) тип кода: матричный;
g) независимость от ориентации: присутствует.
4.2 Дополнительные свойства
Символика Data Matrix обладает следующими дополнительными, неотъемлемыми или устанавливаемыми по выбору свойствами:
a) обратимость изображения (неотъемлемое свойство). Символы предназначены для считывания как напечатанные темным на светлом фоне, так и светлым на темном фоне (рисунок 1). Положения настоящего стандарта установлены для темного изображения на светлом фоне, следовательно указания о темных или светлых модулях должны рассматриваться как указания о светлых или темных модулях соответственно для символов с обращением изображения;
b) интерпретации в расширенном канале (только для версии ЕСС 200, свойство по выбору). Данный механизм позволяет использовать знаки из иных наборов (например, знаки арабского, кирилловского, греческого, еврейского алфавитов) и иных различных интерпретаций данных или представлять их в соответствии с особыми отраслевыми требованиями;
c) прямоугольная форма символов (только для версии ЕСС 200, свойство по выбору). Установлены шесть форматов символа прямоугольной формы;
d) структурированное соединение (только для версии ЕСС 200, свойство по выбору). Позволяет представить один документ в виде нескольких (до 16) символов Data Matrix. Исходные данные могут быть восстановлены вне зависимости от порядка сканирования символов.
Рисунок 1 - Пример кодирования сообщения "A1B2C3D4E5F6G7H8I9J0K1L2" в символе версии ЕСС 200 и уровня ЕСС
а) темное изображение на светлом фоне для версии ЕСС 200
b) светлое изображение на темном фоне для версии ЕСС 200
с) темное изображение на светлом фоне для уровня ЕСС 140
Рисунок 1 - Пример кодирования сообщения "A1B2C3D4E5F6G7H8I9J0K1L2" в символе версии ЕСС 200 (рисунки а) и b)) и уровня ЕСС 140 (рисунок с))
4.3 Структура символов
Каждый символ Data Matrix состоит из областей данных, составленных из номинально квадратных модулей, структурированных в регулярную матрицу. В больших символах версии ЕСС 200 области данных отделены направляющими шаблонами. Область данных окружена шаблоном поиска, вокруг которого со всех четырех сторон должна быть свободная зона. На рисунке 1 приведен пример символа уровня ЕСС 140 и два примера символа версии ЕСС 200.
4.3.1 Шаблон поиска
Шаблоном поиска является периметр области данных шириной в один модуль. Две смежные стороны - левая и нижняя, являются сплошными темными линиями и формируют L-образную границу. Они используются, прежде всего, для определения реального размера, ориентации и искажений символа. Две противоположные стороны состоят из чередующихся темных и светлых модулей. Они используются, прежде всего, для определения структуры символа, состоящей из ячеек, но также могут применяться для определения физического размера и искажений символа. Наличие свободной зоны обозначено на рисунке 1 угловыми метками.
4.3.2 Размеры и емкость символов
Символы версии ЕСС 200 состоят из четного числа строк и четного числа столбцов. Символы версии ЕСС 200 могут быть квадратной формы с размерами (в модулях) от 10х10 до 144х144 без учета свободных зон, либо прямоугольной формы размерами (в модулях) от 8х18 до 16х48 без учета свободных зон. Все символы версии ЕСС 200 можно распознать по светлому модулю в правом верхнем углу. Полный перечень атрибутов символа версии ЕСС 200 приведен в 5.5 (таблица 7).
Символы версии ЕСС 000-140 состоят из нечетного числа строк и нечетного числа столбцов. Символы версии ЕСС 000-140 имеют квадратную форму размерами от 9х9 до 49х49 модулей без учета свободных зон. Данные символы можно распознать по темному модулю в правом верхнем углу. Полный перечень атрибутов символов версии ЕСС 000-140 приведен в приложении G.
5 Требования к символам версии ЕСС 200
5.1 Основные положения процедуры кодирования
Настоящий раздел содержит общие сведения о процедуре кодирования. В следующих разделах приведено более детальное рассмотрение указанной процедуры. Пример кодирования для символа версии ЕСС 200 приведен в приложении О. Преобразование данных пользователя в символ версии ЕСС 200 происходит в следующей последовательности:
Этап 1. Кодирование данных
Анализируют поток данных для определения разнообразия типов различных знаков, подлежащих кодированию. Символы версии ЕСС 200 содержат различные схемы кодирования, которые позволяют найденные множества знаков преобразовать в кодовые слова более эффективно по сравнению со схемой кодирования, принятой по умолчанию. Вводят дополнительные кодовые слова для переключения между схемами кодирования и для выполнения других функций. Добавляют необходимое количество знаков-заполнителей для образования требуемого числа кодовых слов. Если пользователь не установил размер матрицы, то выбирают наименьший размер, в котором могут быть размещены данные. Полный перечень размеров матриц приведен в 5.5 (таблица 7).
Этап 2. Формирование кодовых слов проверки и исправления ошибок
Для символов, содержащих более 255 кодовых слов, поток кодовых слов подразделяют на чередующиеся блоки, чтобы дать возможность обработки алгоритмами исправления ошибок (приложение А). Для каждого блока формируют кодовые слова исправления ошибок. Результатом этого процесса является удлинение потока кодовых слов на число кодовых слов исправления ошибок. Кодовые слова исправления ошибок помещают после кодовых слов данных.
Этап 3. Размещение модулей в матрице
Модули кодовых слов размещают в матрице. В матрицу вставляют модули направляющих шаблонов (при их наличии). Вокруг матрицы добавляют модули шаблона поиска.
5.2 Кодирование данных
5.2.1 Общие положения
Данные можно кодировать с использованием любой комбинации из шести схем кодирования (таблица 1), при этом кодирование по схеме ASCII (КОИ-7/КОИ-8) является основной схемой. Остальные схемы кодирования вызываются из схемы кодирования ASCII (КОИ-7/КОИ-8) с последующим возвратом к этой же схеме. Следует учитывать эффективность уплотнения (число битов на знак данных), приведенную в таблице 1. Лучшей схемой для выбранного набора данных может оказаться не та, у которой на знак данных приходится наименьшее число битов. Если требуется наибольшая степень уплотнения, то надо принимать в расчет служебную информацию для переключения между схемами кодирования и наборами знаков внутри одной схемы кодирования (приложение Р). Следует также учитывать, что даже если число кодовых слов минимизировано, поток кодовых слов может нуждаться в расширении для полного заполнения символа. Дополнение осуществляют путем использования знаков-заполнителей.
Таблица 1 - Схемы кодирования для символов версии ЕСС 200
Наименование схемы кодирования | Знаки | Число битов на один знак данных |
ASCII | Сдвоенные разряды чисел | 4 |
(КОИ-7/ | Знаки ASCII (КОИ-7) с десятичными значениями от 0 до 127 | 8 |
КОИ-8) | Знаки расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255 | 16 |
С40 | Цифры и прописные латинские буквы | 5,33 |
Специальные знаки и строчные латинские буквы | 10,66* | |
Text | Цифры и строчные латинские буквы | 5,33 |
Специальные знаки и прописные латинские буквы | 10,66** | |
ANSI X12 | Набор знаков данных для электронного обмена данными по ANSI X12 EDI | 5,33 |
EDIFACT | Знаки ASCII (КОИ-7) с десятичными значениями от 32 до 94 | 6 |
По основанию 256 | Любые байты с десятичными значениями от 0 до 255 | 8 |
* Кодируют как два значения в схеме кодирования С40 с использованием знака регистра (Shift). |
5.2.2 Интерпретация знаков по умолчанию
Интерпретация знаков по умолчанию для знаков с десятичными значениями от 0 до 127 должна соответствовать версии КОИ-7 по ИСО/МЭК 646, а для знаков с десятичными значениями от 128 до 255 - версии КОИ-8 по ИСО 8859-1 "Латинский алфавит N 1". Графические представления знаков данных, приведенных в настоящем стандарте, соответствуют интерпретации по умолчанию. Эта интерпретация может быть изменена с помощью переключающих последовательностей интерпретации в расширенном канале (5.4). Интерпретацией по умолчанию является ECI 000003.
5.2.3 Схема кодирования ASCII (КОИ-7/КОИ-8)
Схема кодирования ASCII (КОИ-7/КОИ-8) представляет собой набор знаков по умолчанию для первого знака символа в символах любого размера. С помощью указанной схемы кодируют знаки ASCII (КОИ-7) и расширенного набора ASCII (КОИ-8), числовые данные двойной плотности и управляющие знаки символики. Управляющие знаки символики включают в себя функциональные знаки, знак-заполнитель и знаки-переключатели на другие кодовые наборы. Знаки данных ASCII (КОИ-7) кодируют как кодовые слова с десятичными значениями от 1 до 128 (десятичное значение знака КОИ-7 плюс 1). Знаки данных расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255 кодируют с использованием управляющего знака верхнего регистра (Upper Shift) (5.2.4.2). Пары цифр от 00 до 99 кодируют кодовыми словами от 130 до 229 (числовое значение плюс 130). Присвоенные значения кодовых слов для схемы кодирования ASCII (КОИ-7/КОИ-8) приведены в таблице 2.
Таблица 2 - Значения кодовых слов в схеме кодирования ASCII (КОИ-7/КОИ-8)
Значение кодового слова | Знак данных или функция |
1-128 | Знаки данных ASCII (КОИ-7) (десятичное значение знака +1) |
129 | Знак-заполнитель |
130-229 | Пары цифр от 00 до 99 (числовое значение +130) |
230 | Знак фиксации схемы кодирования С40 |
231 | Знак фиксации схемы кодирования по основанию 256 |
232 | Знак FNC1 |
233 | Знак структурированного соединения |
234 | Знак программирования устройства считывания |
235 | Знак верхнего регистра (переход к расширенному набору ASCII (КОИ-8)) |
236 | Знак Макро 05 |
237 | Знак Макро 06 |
238 | Знак фиксации схемы кодирования Х12 |
239 | Знак фиксации схемы кодирования Text |
240 | Знак фиксации схемы кодирования EDIFACT |
241 | Знак интерпретации в расширенном канале (ECI) |
242-255 | Не подлежит использованию в схеме кодирования ASCII (КОИ-7/КОИ-8) |
5.2.4 Управляющие знаки символики
В символах версии ЕСС 200 есть несколько специальных управляющих знаков символики, имеющих особое значение для схемы кодирования. Эти знаки должны использоваться для сообщения команды декодеру на выполнение определенных функций или передачи управляющему компьютеру специальных данных (5.2.4.1-5.2.4.9). Эти управляющие знаки символики, за исключением знаков с десятичными значениями от 242 до 255, присутствуют в кодовом наборе ASCII (КОИ-7/КОИ-8) (таблица 2).
5.2.4.1 Знаки фиксации схемы кодирования (Latch)
Для переключения из схемы кодирования ASCII (КОИ-7/КОИ-8) в любую иную схему кодирования используют знаки фиксации. Все кодовые слова после знака фиксации должны кодироваться в соответствии с новой схемой кодирования. Различные схемы кодирования имеют свои способы возврата к кодовому набору ASCII (КОИ-7/КОИ-8).
5.2.4.2 Знак верхнего регистра (Upper Shift)
Знак верхнего регистра используется в комбинации с знаком ASCII (КОИ-7) для кодирования знака расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255. Знак расширенного набора ASCII (КОИ-8), кодируемый в схемах кодирования ASCII (КОИ-7/КОИ-8), С40 или Text, требует наличия предшествующего знака верхнего регистра, после которого стоит знак ASCII (КОИ-7), десятичное значение которого уменьшено на 128. Эту пару кодируют в соответствии с правилами схемы кодирования. В схеме кодирования ASCII (КОИ-7/КОИ-8) знак верхнего регистра представлен кодовым словом со значением 235. Уменьшенное десятичное значение знака данных (т.е. десятичное значение знака расширенного набора ASCII (КОИ-8) минус 128) преобразуют в значение кодового слова путем прибавления к его значению единицы. Например, для кодирования знака (ДЕНЕЖНЫЙ ЗНАК ИЕНЫ, десятичное значение которого равно 165) следует после знака верхнего регистра (кодовое слово со значением 235) поставить знак ASCII (КОИ-7) с десятичным значением 37 (165-128), которое кодируется как кодовое слово со значением 38. При наличии протяженных последовательностей знаков данных расширенного набора ASCII (КОИ-8), более эффективное кодирование может быть достигнуто путем использования знака фиксации схемы кодирования по основанию 256.
5.2.4.3 Знак-заполнитель (Pad)
Если кодируемых данных, независимо от используемой схемы кодирования, не хватает для полного заполнения символа для данных, то оставшаяся часть символа для данных должна быть заполнена знаками-заполнителями. Знаки-заполнители должны использоваться исключительно для указанной цели. Перед вводом знака-заполнителя необходимо вернуться к схеме кодирования ASCII (КОИ-7/КОИ-8) из любой другой используемой схемы кодирования.
Алгоритм рандомизации с шаблоном из 253 состояний применяют к знакам-заполнителям, ко всей последовательности знаков-заполнителей, начиная со второго знака-заполнителя и до конца символа (приложение В.1).
5.2.4.4 Знак интерпретации в расширенном канале (ECI)
Знак интерпретации в расширенном канале (ECI) используют для смены интерпретации, принятой по умолчанию, на иную интерпретацию, применяемую для кодирования данных. Протокол интерпретации в расширенном канале является общим для многих символик и его применение к символике версии ЕСС 200 более полно определено в 5.4. После знака ECI обязательно должны следовать одно, два или три кодовых слова, которые идентифицируют конкретную активизируемую ECI. Новая ECI действует до конца кодируемых данных или до тех пор, пока другой знак ECI не вызовет иную интерпретацию.
5.2.4.5 Знаки регистра (Shift) в схемах кодирования С40 и Text
В схемах кодирования С40 и Text используют три специальных знака, называемые знаками регистра, в качестве префикса к одному из 40 значений для кодирования примерно трех четвертей набора знаков ASCII (КОИ-7). Это позволяет добиться более компактного кодирования оставшихся знаков ASCII (КОИ-7) с помощью одиночных значений*.
________________
* Без предшествующего знака "Регистр" перед каждым знаком.
5.2.4.6 Знак FNC1 как идентификатор альтернативного типа данных
Для кодирования данных, соответствующих специальным международным отраслевым стандартам, одобренных AIM Inc, знак FNC1 должен присутствовать в позиции первого или второго знака символа (либо пятой или шестой позиции данных в первом символе структурированного соединения символов). Знак FNC1, кодируемый в позиции любого иного знака символа, используют как разделитель полей, и он подлежит передаче как управляющий знак (знак ASCII (КОИ-7) с десятичным значением 29).
5.2.4.7 Знаки Макро (Macro)
Символика Data Matrix обеспечивает представление специальных международных отраслевых головной и конечной меток в одном знаке символа, которое сокращает число знаков символа, необходимых для кодирования данных в символе при использовании установленных структурированных форматов. Любой знак Макро применяют только в позиции первого знака символа. Эти знаки не должны использоваться вместе со структурированным соединением (Structured Append). Функции знаков Макро приведены в таблице 3. Головная метка должна быть включена в передаваемый поток данных в виде префикса, а конечная метка - суффикса*. Если используют идентификатор символики, то он должен предшествовать головной метке.
________________
* Суффикс является завершающим дополнением к потоку данных.
Таблица 3 - Функции знаков Макро
Значение кодового слова знака Макро | Обозначение знака | Интерпретация метки | |
Головная метка | Конечная метка | ||
236 | Макро 05 | * | ** |
237 | Макро 06 | *** |
________________
* Знаки КОИ-7 (ASCII) с десятичными значениями 91, 41, 62, 30, 48, 53, 29.
** Знаки КОИ-7 (ASCII) с десятичными значениям 30, 4.
*** Знаки КОИ-7 (ASCII) с десятичными значениями 91, 41, 62, 30, 48, 54, 29.
5.2.4.8 Знак структурированного соединения (Structured Append)
Знак структурированного соединения используют для указания того, что символ является частью последовательности символов структурированного соединения в соответствии с 5.6.
5.2.4.9 Знак программирования устройства считывания
Знак программирования устройства считывания указывает на то, что в символе закодировано сообщение, предназначенное для программирования устройства считывания. Знак программирования устройства считывания должен быть первым кодовым словом символа и не подлежит использованию совместно со структурированным соединением.
5.2.5 Схема кодирования С40
Схему кодирования С40 применяют для оптимизации кодирования данных, состоящих из последовательности, включающей прописные буквы латинского алфавита и числа (включая знак ПРОБЕЛ). Данная схема позволяет также кодировать и другие знаки путем использования знаков регистра в комбинации с другими знаками данных.
Знаки данных в схеме кодирования С40 разделены на четыре набора. Знаки из первого набора, называемого основным набором, содержат три специальных знака регистра, знак ПРОБЕЛ и знаки ASCII (КОИ-7) c A по Z и с 0 по 9. Каждому знаку данных соответствует единственное значение схемы кодирования С40 (далее - значение С40). Знаки других наборов присваивают одному из трех знаков регистра, которые указывают на один из трех оставшихся наборов и сопровождаются одним из значений С40 (приложение С, таблица С.1).
В результате первого этапа кодирования каждый знак данных преобразуют в одно значение С40 или в пару значений С40. Затем полную строку значений С40 разбивают на группы по три значения (если в конце данных остается одно или два значения, то применяют специальные правила, приведенные в 5.2.5.2.). После этого три значения (С1, С2, С3) кодируют как одно 16-битовое значение по формуле (1600хС1)+(40хС2)+С3+1. В завершение каждое 16-битовое значение кодируют в двух кодовых словах, представляющих собой восемь старших битов и восемь младших битов.
5.2.5.1 Переключение на схему кодирования С40 и обратно
На схему кодирования С40 можно переключиться из схемы кодирования ASCII (КОИ-7/КОИ-8), используя соответствующее кодовое слово фиксации схемы кодирования С40 со значением 230. Кодовое слово со значением 254, непосредственно следующее за парой кодовых слов в схеме кодирования С40, действует как отказ от фиксации (Unlatch) для возврата к схеме кодирования ASCII (КОИ-7/КОИ-8). В противном случае кодирование по схеме кодирования С40 сохраняется до окончания данных, закодированных в символе.
5.2.5.2 Правила кодирования С40
Каждая пара кодовых слов представляет собой 16-битовое значение, в котором первое кодовое слово соответствует восьми старшим битам, а второе - восьми младшим битам. Три значения С40 (С1, С2, С3) кодируют по формуле (1600хС1)+(40хС2)+С3+1.
В результате получают значения от 1 до 64000. Уплотнение трех значений С40 в два кодовых слова представлено на рисунке 2.
Рисунок 2 - Пример кодирования по схеме кодирования С40
Исходные знаки данных | AIM |
Полученные значения С40 | 14, 22, 26 |
Вычисление 16-битового значения | (1600х14)+(40х22)+26+1=23307 |
Определение первого кодового слова: (16-битовое значение) div 256 | 23307 div 256=91 |
Определение второго кодового слова: (16-битовое значение) mod 256 | 23307 mod 256=11 |
Итоговые кодовые слова | 91, 11 |
Рисунок 2 - Пример кодирования по схеме кодирования С40
Для кодирования знаков, принадлежащих наборам Регистр 1 (Shift 1), Регистр 2 (Shift 2) и Регистр 3 (Shift 3), сначала следует закодировать соответствующий знак регистра, а затем - значение С40 для данных. Кодирование по схеме С40 может действовать до окончания кодовых слов символа, кодирующих данные.
В случае, если в символе остается только один или два знака символа до начала следования кодовых слов исправления ошибки, то следует придерживаться следующих правил:
a) если остаются два знака символа и кодированию подлежат три оставшихся значения С40 (которые могут включать как знаки данных, так и знаки регистра (Shift)), то эти три значения С40 кодируют в двух последних знаках символа. Заключительного кодового слова отказа от фиксации схемы кодирования (Unlatch) не требуется;
b) если остаются два знака символа и кодированию подлежат два оставшихся значения С40 (первое из которых может быть знаком регистра (Shift) или знаком данных, а второе должно представлять знак данных), то эти два оставшиеся значения С40 кодируют с добавлением значения заполнителя С40, равного 0 (из набора Регистр 1) в двух последних знаках символа. Кодового слова отказа от фиксации схемы кодирования (Unlatch) также не требуется;
c) если остаются два знака символа для кодирования одного оставшегося значения С40 (знака данных), то в первом из двух оставшихся знаков символа (предпоследнем знаке символа) кодируют отказ от фиксации схемы кодирования (Unlatch), а в последнем знаке символа кодируют знак данных по схеме кодирования ASCII (КОИ-7/КОИ-8);
d) если остается один знак символа для кодирования одного оставшегося значения С40 (знака данных), то в последнем знаке символа кодируют знак данных по схеме кодирования ASCII (КОИ-7/КОИ-8). Знак отказа от фиксации схемы кодирования (Unlatch) не кодируют, его наличие подразумевается перед последним знаком символа.
Во всех остальных случаях либо используют знак отказа от фиксации схемы кодирования (Unlatch) для выхода из схемы кодирования С40 перед окончанием символа, либо применяют символ большего размера для кодирования данных.
5.2.5.3 Использование знака верхнего регистра (Upper Shift) в схеме кодирования С40
В схеме кодирования С40 знак верхнего регистра (Upper Shift) не является функциональным знаком символики, а используется как знак регистра (Shift) внутри данного кодового набора. Для кодирования знаков расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255 необходимо закодировать три или четыре значения С40 в соответствии со следующими требованиями.
Если [десятичное значение знака расширенного набора ASCII (КОИ-8) минус 128] принадлежит основному набору, то используют запись:
[1 (значение знака Регистр 2 (Shift))] [30 (значение знака верхнего регистра (UperShift))] [V (десятичное значение знака расширенного набора ASCII (КОИ-8) минус 128)].
В противном случае запись приобретает следующий вид:
[1 (значение знака Регистр 2)] [30 (значение знака верхнего регистра)] [0, 1 или 2 (значения знаков Регистр 1, 2 или 3)] [V (десятичное значение знака расширенного набора ASCII (КОИ-8) минус 128)].
В данных записях число, приведенное в квадратных скобках, соответствует значению согласно приложению С.1, соответствующее значение С40 обозначено V.
5.2.6 Схема кодирования Text
Схема кодирования Text предназначена для кодирования обычного печатного текста, состоящего в основном из знаков нижнего регистра (строчных букв латинского алфавита, цифр, знака ПРОБЕЛ). По структуре она похожа на кодовый набор, используемый в схеме кодирования С40, за исключением того, что строчные буквы нижнего регистра кодируют напрямую (без переключения регистра). Знаки верхнего регистра (прописные буквы латинского алфавита, цифры, специальные графические знаки и знак ПРОБЕЛ) предваряют знаком регистра 3. Полный кодовый набор знаков схемы кодирования Text приведен в приложении С (таблица С.2).
5.2.6.1 Переключение на схему кодирования Text и обратно
На схему кодирования Text можно переключиться из схемы кодирования ASCII (КОИ-7/КОИ-8), используя соответствующее кодовое слово фиксации схемы кодирования с десятичным значением 239. Кодовое слово значением 254, непосредственно следующее за парой кодовых слов в схеме кодирования Text, действует как кодовое слово отказа от фиксации (Unlatch) для возврата в схему кодирования ASCII (КОИ-7/КОИ-8). В противном случае схема кодирования Text действует до окончания данных, кодируемых в символе.
5.2.6.2 Правила кодирования в схеме кодирования Text
Применяют те же правила, что и в схеме кодирования С40.
5.2.7 Схема кодирования ANSI X12
Схему кодирования ANSI X12 применяют для кодирования знаков, используемых при стандартном электронном обмене данными по ANSI X12, в которой три знака данных размещают с уплотнением в двух кодовых словах и которая в некоторой степени подобна схеме кодирования С40. Схема кодирования ANSI Х12 позволяет кодировать буквы верхнего регистра (прописные латинские буквы), цифры, знак ПРОБЕЛ и три стандартных ограничительных и разделительных знака в соответствии с ANSI X12. Соответствие кодов по ANSI X12 приведено в таблице 4. В наборе кодируемых знаков по ANSI X12 отсутствуют знаки регистра (Shift).
Таблица 4 - Набор кодируемых знаков по ANSI X12
Значение знака Х12 | Кодируемые знаки | Десятичные значения знака ASCII (КОИ-7) |
0 | Х12 ограничитель сегмента <CR> | 13 |
1 | Х12 разделитель сегментов * (ЗВЕЗДОЧКА) | 42 |
2 | Х12 разделитель подэлементов > (БОЛЬШЕ) | 62 |
3 | ПРОБЕЛ | 32 |
4-13 | от 0 до 9 | 48-57 |
14-39 | от А до Z | 65-90 |
________________
Управляющий знак CR соответствует обозначению знака ВК "ВОЗВРАТ КАРЕТКИ" по ГОСТ 27465-87 "Системы обработки информации. Символы. Классификация, наименование и обозначение".
5.2.7.1 Переключение на схему кодирования ANSI X12 и обратно
На схему кодирования ANSI X12 можно переключиться из схемы кодирования ASCII (КОИ-7/КОИ-8), используя соответствующее кодовое слово фиксации схемы кодирования (Latch) (значение 238). Кодовое слово значением 254, непосредственно следующее за парой кодовых слов схемы кодирования ANSI X12, действует как кодовое слово отказа от фиксации (Unlatch) для возврата в схему кодирования ASCII (КОИ-7/КОИ-8). В противном случае схема кодирования ANSI X12 действует до окончания данных, кодируемых в символе.
5.2.7.2 Правила кодирования в соответствии со схемой кодирования ANSI X12
Применяют правила, установленные для схемы кодирования С40. Исключение составляет окончание кодирования данных ANSI X12. Если знаки данных не полностью заполняют пары кодовых слов, то сразу за последней полной парой кодовых слов следует использовать переключение в схему кодирования ASCII (КОИ-7/КОИ-8) с помощью кодового слова значением 254 и продолжить использование схемы кодирования ASCII (КОИ-7/КОИ-8) за исключением случая, когда остается единственный конечный знак символа (кодовое слово) перед первым кодовым словом исправления ошибки. Этот единственный знак символа кодируется по схеме кодирования ASCII (КОИ-7/КОИ-8) без использования кодового слова отказа от фиксации (Unlatch).
5.2.8 Схема кодирования EDIFACT
Схема кодирования EDIFACT включает в себя 63 знака КОИ-7 (ASCII) с десятичными значениями от 32 до 94, а также знак отказа от фиксации (двоичное значение 011111) для возврата в схему кодирования ASCII (КОИ-7/КОИ-8). Схема кодирования EDIFACT позволяет кодировать четыре знака данных в трех кодовых словах. Знаки данных включают в себя все цифры, буквы латинского алфавита и специальные графические знаки (знаки пунктуации), определенные в наборе знаков "EDIFACT Level А" без знаков регистра (Shift), используемых в схеме кодирования С40.
5.2.8.1 Переключение на схему кодирования EDIFACT и обратно
На схему кодирования EDIFACT можно переключиться из схемы кодирования ASCII (КОИ-7/КОИ-8), используя соответствующее кодовое слово фиксации схемы кодирования (Latch) значением 240. Знак отказа от фиксации в схеме кодирования EDIFACT следует использовать в качестве ограничителя окончания схемы кодирования EDIFACT для возврата в схему кодирования ASCII (КОИ-7/КОИ-8).
5.2.8.2 Правила кодирования в соответствии со схемой кодирования EDIFACT
Набор знаков в схеме кодирования EDIFACT приведен в приложении С, таблица С.З. Существует простое соответствие между 6-битовыми значениями знаков по EDIFACT и 8-битовыми байтами знака расширенного набора ASCII (КОИ-8). При построении 6-битового значения знака по EDIFACT исключают два бита старших разрядов 8-битового байта в соответствии с рисунком 3. Строки из четырех знаков со значениями по EDIFACT кодируют в три кодовых слова. В процессе простого кодирования два бита старших разрядов удаляют из 8-битового байта. Оставшийся 6-битовый байт является значением по EDIFACT и должен быть непосредственно закодирован в кодовом слове (рисунок 4).
Рисунок 3 - Соответствие значений знаков по EDIFACT и значений 8-битовых байтов
Знак данных | Значение знака расширенного набора ASCII (КОИ-8) | Значение знака по EDIFACT | |
Десятичное значение | 8-битовое двоичное значение | ||
А | 65 | 01000001 | 000001 |
9 | 57 | 00111001 | 111001 |
Примечание - В процессе декодирования, если начальный бит (6-й разряд) равен 1, то для построения 8-битового байта требуется вставить в качестве префикса биты 00. Если начальный бит (6-й разряд) равен нулю, то для построения 8-битового байта надо вставить в качестве префикса биты 01. Исключением является знак со значением по EDIFACT 011111, который является управляющим знаком символики отказа от фиксации (Unlatch) для возврата в схему кодирования ASCII (КОИ-7/КОИ-8). |
Рисунок 3 - Соответствие значений знаков по EDIFACT и значений 8-битовых байтов
Рисунок 4 - Пример кодирования по EDIFACT
Знаки данных | D | А | Т | А | |||||||||||
Исходные двоичные значения (по таблице С.3) | 00 | 01 | 00 | 00 | 00 | 01 | 01 | 01 | 00 | 00 | 00 | 01 | |||
Разделение по три 8-битовых байта | 00 | 01 | 00 | 00 | 00 | 01 | 01 | 01 | 00 | 00 | 00 | 01 | |||
Итоговые значения кодовых слов | 16 | 21 | 1 |
Рисунок 4 - Пример кодирования по EDIFACT
Когда кодирование EDIFACT завершается знаком отказа от фиксации схемы кодирования (Unlatch), любые биты, оставшиеся в одиночном знаке символа, следует заполнять нулями. Схема кодирования ASCII (КОИ-7/КОИ-8) начинается со следующего знака символа. Если схема кодирования EDIFACT действует до конца символа, и до первого знака исправления ошибки осталось закодировать только одно или два кодовых слова, оставшихся за последним триплетом кодовых слов по схеме кодирования EDIFACT, их следует кодировать по схеме кодирования ASCII (КОИ-7/КОИ-8) без использования знака отказа от фиксации (Unlatch).
5.2.9 Схема кодирования по основанию 256
Схему кодирования по основанию 256 используют для кодирования любых 8-битовых байтов данных, включая интерпретации в расширенном канале (ECI), и двоичных данных. Интерпретация, используемая по умолчанию, определена в 5.2.2. Алгоритм рандомизации с шаблоном из 255 состояний применяют к каждой последовательности по основанию 256, встречающейся в закодированных данных (приложение В.2). Схема начинает действовать после знака фиксации схемы кодирования по основанию 256 и заканчивается на последнем знаке, определенном длиной поля в схеме кодирования по основанию 256.
5.2.9.1 Переключение на схему кодирования по основанию 256 и обратно
На схему кодирования по основанию 256 можно переключиться из схемы кодирования ASCII (КОИ-7/КОИ-8), используя соответствующее кодовое слово фиксации схемы кодирования значением 231. По окончании данных, закодированных в соответствии со схемой кодирования по основанию 256, возврат к схеме кодирования ASCII (КОИ-7/КОИ-8) осуществляется автоматически. Обращение к интерпретации в расширенном канале (ECI), отличающейся от принятой по умолчанию, должно быть выполнено до переключения на схему кодирования по основанию 256. Последовательность ECI не требуется располагать непосредственно перед переключением в схему кодирования по основанию 256.
5.2.9.2 Правила кодирования в соответствии со схемой кодирования по основанию 256
После переключения на схему кодирования по основанию 256 первые одно () или два (, ) кодовых слова устанавливают длину поля данных в байтах. Определение степени соответствия между длиной поля и значениями и приведено в таблице 5. Далее записываются значения данных в байтах.
Таблица 5 - Длина поля в схеме кодирования по основанию 256
Длина поля | Значения , | Допустимые значения |
До конца символа | 0 | 0 |
От 1 до 249 | заданная длина | от 1 до 249 |
От 250 до 1555 | (заданная длина DIV 250)+249 | от 250 до 255 |
заданная длина MOD 250 | от 0 до 249 |
5.3 Рекомендации пользователям
Символика версии ЕСС 200 предлагает гибкие способы кодирования данных. К альтернативным наборам знаков следует обращаться с использованием протокола интерпретации в расширенном канале (ECI). Данные могут быть закодированы в символ квадратной или прямоугольной формы. Если длина сообщения превышает емкость символа, то оно может быть закодировано с использованием последовательности структурированного соединения нескольких (до 16) отдельных, но логически связанных символов версии ЕСС 200 (5.6).
5.3.1 Выбор пользователем интерпретации в расширенном канале (ECI)
Использование альтернативной интерпретации в расширенном канале (ECI) для задания определенной кодовой страницы (набора) или более специфичной интерпретации данных требует вызова дополнительных кодовых слов для активизации этой возможности. Использование протокола интерпретации в расширенном канале (ECI) (5.4) обеспечивает возможность кодирования в данных знаков алфавитов, отличающихся от латинского (по ИСО/МЭК 8859-1 Латинский алфавит N 1), поддерживаемого интерпретацией по умолчанию (последовательность ECI 000003).
5.3.2 Выбор пользователем формы и размера символа
Версия ЕСС 200 имеет двадцать четыре квадратных и шесть прямоугольных конфигураций символа. Можно выбрать подходящий размер и форму символа, в зависимости от требований к его практическому применению; технические требования к данным конфигурациям приведены в 5.5.
5.4 Интерпретация в расширенном канале
Протокол интерпретации в расширенном канале (ECI) позволяет включать в выходной поток данных знаки различных интерпретаций, отличающиеся от набора знаков по умолчанию. Протокол ECI единообразно определен для ряда символик. В символике Data Matrix поддерживаются четыре распространенных типа интерпретаций:
a) международные наборы знаков (или кодовые страницы);
b) интерпретации общего назначения, такие как шифрование и уплотнение;
c) определяемые пользователем интерпретации для замкнутых систем применения;
d) управляющая информация для структурированного соединения в небуферизованном режиме.
Протокол интерпретации в расширенном канале полностью установлен в стандарте AIM Inc. ITS/04-001 "Интерпретации в расширенном канале. Часть 1" ("International Technical Specification - Extended Channel Interpretation - Parth 1"). Протокол обеспечивает последовательный метод установления специфических интерпретаций значений байтов перед печатью и после декодирования. Конкретную интерпретацию в расширенном канале идентифицируют с помощью 6-разрядного числа, которое в символике Data Matrix кодируют знаком ECI, за которым следует от одного до трех кодовых слов. Специальные интерпретации приведены в документе AIM Inc. "Интерпретации в расширенном канале. Часть 3" ("Extended Chanel Interpretations - Part 3 - Register"). Интерпретация в расширенном канале может использоваться только с устройствами считывания, позволяющими передавать идентификаторы символики. Устройства считывания, которые не могут передавать идентификаторы символики, не обеспечивают передачу данных из любого символа, содержащего ECI. Исключение может быть сделано только в случае, если интерпретация в расширенном канале может быть полностью обработана самим устройством считывания.
Протокол интерпретации в расширенном канале используют только в символах версии ЕСС 200. Заданная интерпретация в расширенном канале может быть вызвана в любом месте закодированного сообщения.
5.4.1 Кодирование интерпретации в расширенном канале
Разнообразные схемы кодирования символики Data Matrix версии ЕСС 200 (таблица 1) могут применяться при любой интерпретации в расширенном канале. Вызов ECI может быть осуществлен только из схемы кодирования ASCII (КОИ-7/КОИ-8), после которого допускается переключение между любыми схемами кодирования. Используемый способ кодирования строго определен 8-битовыми значениями данных и он не зависит от действующей ECI. Например последовательность знаков с десятичными значениями в диапазоне от 48 до 57 может быть наиболее эффективно закодирована в цифровом режиме, даже если они не будут интерпретироваться как числа. Назначение ECI вводят с помощью кодового слова значением 241 (знак ECI) в схеме кодирования ASCII (КОИ-7/КОИ-8). Одно, два или три дополнительных кодовых слова используют для кодирования номера назначения ECI (ECI Assignment member). Правила кодирования приведены в таблице 6.
Таблица 6 - Кодирование номеров назначения ECI в символике версии ЕСС 200
Номер назначения ECI | Последовательность кодовых слов | Значения кодовых слов | Область значений |
От 000000 до 000126 | 241 | ||
ЕСI_nо +1* | (от 1 до 127) | ||
От 000127 до 016382 | 241 | ||
(ЕСI_no - 127)div254+128 | (от 128 до 191) | ||
(ЕСI_nо - 127) mod 254+1 | (от 1 до 254) | ||
От 0016383 до 999999 | 241 | ||
(ЕС1_no - 16383)div64516+192 | (от 192 до 207) | ||
[(ЕСI_no - 16383) div 254] mod 254+1 | (от 1 до 254) | ||
(ЕСI_no - 16383) mod 254+1 | (от 1 до 254) |
________________
* ECl_nо +1 - заданный номер назначения ECI.
Следующие примеры приведены для иллюстрации кодирования:
номер назначения ECI=015000
Кодовые слова:
[241][(15000-127) div 254+128][(15000-127) mod 254+1]=[241][58+128][141+1]=[241][186][142]
номер назначения ECI=090000
Кодовые слова:
[241][(90000-16383) div 64516+192][((90000-16383) div 254) mod 254+1][(90000-16383) mod 254+1]=[241][1+192][289 mod 254+1][211+1]=[241][193][36][212]
5.4.2 ECI и структурированное соединение
ECI могут появляться в любом месте сообщения, закодированного в одиночном символе или в символе структурированного соединения (5.6) набора символов Data Matrix. Любая активизированная ECI сохраняет действие либо до конца закодированных данных, либо до появления другой ECI. Таким образом, интерпретация в заданной ECI может распространяться на два или более символов.
5.4.3 Протокол после декодирования
Протокол передачи данных ECI определен в 11.4. При применении интерпретаций в расширенном канале следует использовать идентификаторы символики (11.5) и соответствующий идентификатор символики должен передаваться перед декодированными данными.
5.5 Атрибуты символа версии ЕСС 200
5.5.1 Размер и емкость символа
В символике версии ЕСС 200 доступны 24 квадратных и 6 прямоугольных символов, указанные в таблице 7.
Таблица 7 - Атрибуты символов ЕСС 200
Размер* | Область данных | Размер коор- | Общее число кодовых слов | Число кодовых слов в блоке Рида- | Число чере- | Максимальная емкость символа для данных | Кодо- | Мак- | |||||||
Число строк | Число столб- | Раз- | Чис- | дан- | исп- | дан- | исп- | чис- | число латин- | чис- | |||||
Символы квадратной формы | |||||||||||||||
10 | 10 | 8x8 | 1 | 8x8 | 3 | 5 | 3 | 5 | 1 | 6 | 3 | 1 | 62,5 | 2/0 | |
12 | 12 | 10x10 | 1 | 10x10 | 5 | 7 | 5 | 7 | 1 | 10 | 6 | 3 | 58,3 | 3/0 | |
14 | 14 | 12x12 | 1 | 12x12 | 8 | 10 | 8 | 10 | 1 | 16 | 10 | 6 | 55,6 | 5/7 | |
16 | 16 | 14x14 | 1 | 14x14 | 12 | 12 | 12 | 12 | 1 | 24 | 16 | 10 | 50 | 6/9 | |
18 | 18 | 16x16 | 1 | 16x16 | 18 | 14 | 18 | 14 | 1 | 36 | 25 | 16 | 43,8 | 7/11 | |
20 | 20 | 18x18 | 1 | 18x18 | 22 | 18 | 22 | 18 | 1 | 44 | 31 | 20 | 45 | 9/15 | |
22 | 22 | 20x20 | 1 | 20x20 | 30 | 20 | 30 | 20 | 1 | 60 | 43 | 28 | 40 | 10/17 | |
24 | 24 | 22x22 | 1 | 22x22 | 36 | 24 | 36 | 24 | 1 | 72 | 52 | 34 | 40 | 12/21 | |
26 | 26 | 24x24 | 1 | 24x24 | 44 | 28 | 44 | 28 | 1 | 88 | 64 | 42 | 38,9 | 14/25 |