М

Метод "0111110"

AI (01) + AI (ЗЮх) + AI (17)

Метод "0111111"

AI (01) + Al (320х) + AI (17)

асса нетто предмета в метрических единицах величин и дата окончания срока годности

Масса нетто предмета в неметрических (британских) единицах величин и дата окончания срока годности

Три строки элементов AI уплотняют до 76 битов, при этом идентификацию предмета уплотняют до 40 битов, значение массы — до 20 битов и значение даты — до 16 битов.

При кодировании трех строк элементов AI в строке элемента с идентификатором применения AI (01) отбрасывают первые три цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплотненных данных в четырех группах по три цифры в каждой, кодируемых в десяти битах соответственно. В строке элементов с идентификаторами применения AI (31 Ох и 320х) для обозначе­ния массы отбрасывают 3-разрядный префикс AI (310 или 320). Из оставшейся 7-значной строки элемента с AI удаляют второй разряд слева (ноль) с целью формирования строки из 6 цифр. Указанные 6 цифр, состоящие из цифры последнего разряда AI и последних пяти цифр значения массы, кодируют в 20 битах и добавляют в поле уплотненных данных. В строке элементов с идентификаторами применения AI (11), AI (13), AI (15) или AI (17) отбрасывают 2-разрядный префикс AI (11,13,15 или 17) и преобразуют оставши­еся шесть цифр со структурой «ГГММДД» («YYMMDD»)12 в уплотненную строку со значениями от 0 до 38399 и кодируют уплотненные данные в 16 битах с помощью следующей формулы

(YY х 384) + ((ММ - 1) х 32) + (DD).

Значение 38400 в 16-битовом подполе обозначает, что поле данных не подлежит кодированию. Этот вариант применяют для кодирования идентификации предмета и массы в случае, если методы кодирова­ния со значениями “0100” или “0101” не поддерживают данное значение массы.

Устройство декодирования декодирует первые 40 битов в 12 цифр, преобразуя каждую из четырех групп по 10 битов втри цифры, и добавляет перед этими 12 цифрами префикс трех цифр (019), а в конец первой строки элемента с АІ — контрольную цифру, вычисленную по модулю 10.

Затем устройство декодирования преобразует следующих 20 битов по основанию 10 для получения шести десятичных цифр, размещает ноль после первой цифры (слева) для создания последовательности из семи цифр, азатем добавляет префикс АІ (310) или АІ (320) перед указанной строкой для формирования второй строки элементов cAI передаваемого сообщения. После этого устройство декодирования преобра­зует последние 16 битов в числовое значение. Если при декодировании последних 16 битов получают значение 38400, то следующие данные не подлежат декодированию.

Иное значение свидетельствует о том, что была закодирована календарная дата. В соответствии с приведенной выше формулой устройством декодирования должно быть выделено 6-разрядное значение даты и в соответствии с установленной процедурой к нему должен быть добавлен в качестве префикса идентификатор применения АІ (11), АІ (13), АІ (15) или АІ (17).

Например, если при кодировании сообщения (01)90012345678908(3103)012233(15)991231 исполь­зован метод кодирования со значением “0111000”, то в поле уплотненных данных в действительности вклю­чают только выделенные полужирным шрифтом цифры, но на выходе устройства декодирования будет последовательность данных “]е00190012345678908310301223315991231 ”

  1. .Поле метода кодирования со значением «01100» для идентификации предмета переменной величины и его цены

Указанный метод кодирования может быть использован в случае, если подлежащее кодированию сообщение состоит только из двух строк элементов cAI: строки с AI (01), за которой следует строка с AI (392х). Строка элемента с AI (01) для идентификации предмета должна включать в себя разряд индика­тора 9. Значение цены предмета, указанное в строке элемента с AI (392х), может иметь от нуля до трех цифр после десятичной запятой (в диапазоне значений х от 0 до 3). Строку элемента с AI (01) для идентифи­кации предмета уплотняют до 40 битов, а число десятичных разрядов после запятой в AI (392х) кодируют в двух битах. Затем цифры цены кодируют с помощью универсального числового кодирования. Все допол­нительные строки элементов кодируют с помощью универсального кодирования.

При кодировании двух строк элементов AI в строке элемента cAI (01) отбрасывают три первые цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплотненных дан- ных в четырех группах по три цифры в каждой, соответственно кодируемых в десяти битах. В строке эле­мента AI (392х) отбрасывают первые три цифры (392). Следующую цифру (х), определяющую положение десятичной запятой и принимающую значение в интервале от 0 до 3, непосредственно кодируют в следу- ющихдвух битах. Данные, записанные после десятичной запятой, кодируют с помощью универсального кодирования, начиная со схемы числового кодирования.

Устройство декодирования декодирует первые 40 битов в 12 цифр, преобразуя каждую из четырех групп по десять битов втри цифры, и добавляет перед указанными 12 цифрами префикс из трех цифр — 019, а в конец первой строки элементов с АІ — контрольную цифру, вычисленную по модулю 10. Затем указанное устройство добавляет первые три цифры идентификатора применения АІ392 и преобразует сле­дующие два бита в цифру, значение которой определяет положение десятичной запятой. Остальную часть сообщения декодируют с помощью универсального кодирования.

Например, при кодировании сообщения (01)90012345678908(3922)795 с использованием метода кодирования со значением «01100» в поле уплотненных данных в действительности включают только выделенные полужирным шрифтом цифры. На выходе устройства декодирования будет последователь­ность данных “]е001900123456789083922795”.

  1. Поле метода кодирования со значением «01100» для идентификации предмета переменной величины и его цены с кодом валюты по ISO 4217

Указанный метод кодирования может быть использован в случае, если подлежащее кодированию сообщение состоит только из двух строк элементов с AI: строки с AI (01), за которой следует строка с AI (393х). Строка элемента с AI (01) для идентификации предмета должна включать в себя разряд индикатора 9. Значение цены предмета торговли, указанное в строке элемента cAI (393х), может иметь от нуля до трех цифр после десятичной запятой (в диапазоне значений хот Одо 3). Строку элементов cAI (01) для иденти­фикации предмета уплотняют до 40 битов, а число десятичных разрядов после запятой в AI (393х) кодируют в двух битах. Трехзначный код валюты по ISO 4217 кодируют в десяти битах. Затем цифры цены кодируют с помощью универсального числового кодирования. Все дополнительные строки элементов кодируют пу­тем универсального кодирования.

При кодировании двух строк элементов AI в строке элементов с AI (01) отбрасывают три первые цифры (019) и последнюю контрольную цифру. Остальные 12 цифр кодируют в 40-битовом поле уплот­ненных данных в четырех группах по три цифры в каждой, соответственно кодируемых в десяти битах. В строке элемента с AI (393х) отбрасывают первые три цифры (393). Следующую цифру (х), определяю­щую положение десятичной запятой и принимающую значение в интервале от 0 до 3, непосредственно кодируют в следующих двух битах. Следующие три цифры, соответствующие коду валюты по ISO 4217, кодируют непосредственно в следующих десяти битах. Данные, записанные после трехзначного кода ва­люты по ISO 4217, кодируют с помощью универсального кодирования, начиная со схемы числового коди­рования.

Устройство декодирования декодирует первые 40 битов в 12 цифр, преобразуя каждую из четырех групп по десять битов втри цифры, и добавляет перед указанными 12 цифрами префикс из трех цифр — 019, а в конец первой строки элемента с АІ — контрольную цифру, вычисленную по модулю 10. Далее указанное устройство добавляет первые три цифры идентификатора применения АІ (393) и преобра­зует следующие два бита в цифру, значение которой определяет положение десятичной запятой. Затем декодируют следующие десять битов, в которых непосредственно закодированы три цифры кода валюты по ISO 4217. Остальную часть сообщения декодируют с помощью универсального кодирования.

Например, если при кодировании сообщения (01)90012345678908(3932)0401234 использован метод кодирования со значением «01101», то в поле уплотненных данных в действительности включают только 30выделенные полужирным шрифтом цифры, но на выходе устройства декодирования будет последо­вательность данных “]е0019001234567890839320401234”.

  1. Поле универсального уплотнения данных

В поле универсального уплотнения данных кодируют строки элементов с AI путем их преобразования в двоичную строку, используя комбинацию трех схем кодирования:

  1. схемы числового кодирования, применяемой для чисел и знаков FNC1 и использующей для коди­рованного знака 3,5 бита;

  2. схемы алфавитно-цифрового кодирования, применяемой для кодирования комбинации чисел и про­писных букв, использующей 5 битов для кодирования любой цифры или знака FNC1, а 6 битов — для кодирования любой буквы;

  3. схемы кодирования знаков по ISO/IEC 646, применяемой для комбинации прописных и строчных букв, чисел и большинства специальных графических знаков (знаков препинания), использующей для кодирования любой цифры 5 битов, любой буквы — 7 битов и любого специального графического знака — 8 битов.

Универсальное уплотнение данных предназначено для кодирования строк элементов с AI, отличаю­щихся от специально кодируемых с помощью одного из способов кодирования уплотненных данных. Поле универсального уплотнения данных является последним полем в символе переменной длины. После того как все данные были обработаны с помощью схемы универсального уплотнения данных, процесс универ­сального кодирования завершают процедурой заполнения по 7.2.5.5.4.

  1. Схема числового кодирования

Схема числового кодирования является схемой кодирования «по умолчанию», которая действует начиная с начала поля универсального кодирования данных. В соответствии с этой схемой две цифры или цифра и знак FNC1 (в любом порядке) подлежат кодированию в семи битах. 7-битовое значение определя­ют следующим образом

Значение = (11 х D,) + D2 + 8,

где D1 и D2 — значения первой и второй цифры или значение знака FNC1 соответственно (знаку FNC1 присвоено значение 10).

Значениям в диапазоне от 8 до 127 соответствуют 7-битовые двоичные величины в диапазоне от “0001000” до “1111111” (два знака FNC1 не могут быть закодированы в семи битах). Двоичная последова­тельность из четырех нулей “0000” в начале поля или следующая за окончанием предыдущей 7-битовой величины, определяемой по схеме числового кодирования, является указателем фиксации (или перехода) схемы алфавитно-цифрового кодирования (таблица 11).

Таблица 11 — Схема числового кодирования

Кодируемый(е) знак(и)

Закодированные двоичные величины

Пары «цифра — цифра», «цифра — знак FNC1» и «знак FNC1 — цифра»

От 0001000 до 1111111

Указатель фиксации схемы алфавитно-цифрового кодирования

0000



Процесс по схеме числового кодирования пар знаков продолжается до тех пор, пока не будет выпол­нено одно из следующих условий:

  1. если остаются, по меньшей мере, два знака, к которым не применима схема числового кодирова­ния, то в поле уплотнения данных кодируют указатель фиксации схемы алфавитно-цифрового кодирования;

  2. если остается один знак, который не является цифрой, в поле уплотнения данных появляется ука­затель фиксации схемы алфавитно-цифрового кодирования;

  3. если остается один знак, который является цифрой, сначала вычисляют размер символа, необхо­димый для кодирования текущей двоичной строки, а затем число недостающих битов, равное числу битов, требуемых для доведения общего числа битов до следующего четного числа, кратного 12:

  1. если остается семь или более недостающих битов, кодируют цифру и знак FNC1, заполняю­щие следующие семь битов. Этот замыкающий знак FNC1 распознается как заполнитель и не передается устройством считывания;

  2. если остается от четырех до шести битов, к цифровому значению добавляют единицу и коди­руют результат в следующих четырех битах;

  3. в остальных случаях применяют больший по размеру символ, кодирующий цифру и знак FNC1, дополняющие следующие семь битов. Этот замыкающий знак FNC1 распознается как заполнитель и не передается устройством считывания.

Все остальные биты кодируют в соответствии с процедурой заполнения по 7.2.5.5.4;

  1. если не остается ни одного знака, то все оставшиеся биты кодируют в соответствии с процедурой заполнения по 7.2.5.5.4.

Каждый раз, когда появляется указатель фиксации схемы алфавитно-цифрового кодирования, схема кодирования соответствующим образом изменяется. В случае если следующий знак данных необходимо закодировать как знак по ISO/IEC 646, в схеме алфавитно-цифрового кодирования предусмотрено появле­ния указателя фиксации схемы кодирования знаков по ISO/IEC 646, следующего за указателем фиксации схемы алфавитно-цифрового кодирования.

В процессе декодирования должны быть проведены следующие специальные проверки, когда уплот­нение в соответствии со схемой числового кодирования действует в конце символа:

  1. если последние семь битов, представленные по схеме числового кодирования, непосредственно перед последовательностью заполнителей кодируют цифру, за которой следует знак FNC1, то знак FNC1 игнорируют;

  2. если схема числового кодирования вступает в силу, когда в символе остается только от четырех до шести битов, значение 4-битовой строки в начале оставшихся битов преобразуется в десятичные значения:

  1. если значение равно нулю, то сообщение завершено;

  2. в остальных случаях значение декодируется как последняя цифра в сообщении, равная десятичному значению минус единица.

7.2.5.5.2 Схема алфавитно-цифрового кодирования

С помощью схемы алфавитно-цифрового кодирования кодируют цифры, знак FNC1/указатель фикса­ции схемы числового кодирования, прописные буквы, пять специальных графических знаков (знаков пре­пинания) и два знака указателя фиксации. Последовательность закодированных битов не имеет фиксиро­ванного числа битов на один знак. Биты присваивают в соответствии с длиной (в битах) каждого закодиро­ванного знака. Для кодирования каждого знака используют оттрехдо шести битов в соответствии стабли- цей 12.