1. Кодирование вспомогательных знаков

Вспомогательные знаки должны быть составлены в соответствии с таблицей 2.

Т а б л и ц а 2 — Вспомогательные знаки

Вспомогательный знак

Количество модулей

ирина элемента, модули

п


п


п


Типовой знак-ограничитель

3


1

1

1



Центральный знак-ограничитель

5

1

1

1

1

1


Специальный знак-ограничитель

6

1

1

1

1

1

1

Знак-ограничитель дополнительного символа

4


1

1

2



Знак-разделитель дополнительного символа

2

1

1





П р и м е ч а н и е — Обозначения: П — пробел (светлый элемент), — штрих (темный элемент).



В графическом виде эти знаки представлены в приложении D.

Типовой знак-ограничитель соответствует знакам tart (СТАРТ) и to (СТОП) в других сим­воликах, а специальный знак-ограничитель используют как знак to в символах UPC-E.

  1. Форматы символов

    1. Символы EAN-13

Символ EAN-13 должен быть составлен следующим образом (при считывании слева направо):

  • левая свободная зона;

  • типовой знак-ограничитель;

  • 6 знаков символа из числовых наборов А и В;

  • центральный знак-ограничитель;

  • 6 знаков символа из числового набора С;

  • типовой знак-ограничитель;

  • правая свободная зона.

Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соответствии с А.1.

Так как символ EAN-13 содержит только 12 знаков символа, но кодирует 13 цифр данных (включая контрольную цифру), значение дополнительной цифры, которая является знаком, стоящим в крайней левой позиции в цепочке данных, должно кодироваться переменным паритетом в сочетании знаков числовых наборов А и В для 6 знаков символа в левой половине символа. Система кодирования для значений начальной цифры приведена в таблице 3. Пример символа штрихового кода EAN-13 приведен на рисунке 1.

Т а б л и ц а 3 — Левая половина символа EAN-13

Неявно закодирован­ная начальная цифра

Числовые наборы, используемые при кодировании левой половины символа EAN-13 для позиции знака символа

1

2

3

4

5

6

0*)

А

А

А

А

А

А

1

А

А

В

А

В

В

2

А

А

В

В

А

В

3

А

А

В

В

В

А

4

А

В

А

А

В

В

5

А

В

В

А

А

В

6

А

В

В

В

А

А

7

А

В

А

В

А

В

8

А

В

А

В

В

А

9

А

В

В

А

В

А

*) Значение начальной цифры 0 зарезервировано для символов, кодирующих строки данных для но­меров UCC-12 (ЮСиСи-12).




Рисунок 1 — Символ штрихового кода EAN-13



  1. Символы EAN-8

Символ EAN-8 должен быть составлен следующим образом (при считывании слева направо): - левая свободная зона;

  • типовой знак-ограничитель;

  • 4 знака символа из числового набора А;

  • центральный знак-ограничитель;

  • 4 знака символа из числового набора С;

  • типовой знак-ограничитель;

  • правая свободная зона.

Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соот-



  1. Символы UPC-A

Символ UPC-A должен быть составлен следующим образом (при считывании слева направо):

  • левая свободная зона;

  • типовой знак-ограничитель;

  • 6 знаков символа из числового набора А;

  • центральный знак-ограничитель;

  • 6 знаков символа из числового набора С;

  • типовой знак-ограничитель;

  • правая свободная зона.

Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соот­ветствии с А.1. Символы UPC-A могут быть декодированы как 13-разрядный номер добавлением подразумеваемого начального нуля к номеру UCC-12. Пример символа штрихового кода UPC-A приве­ден на рисунке 3.

Рисунок 3 — Символ штрихового кода UPC-А



  1. Символы UPC-E

^мвол UPC-E составлен следующим образом (при считывании слева направо):

  • левая свободная зона;

  • типовой знак-ограничитель;

  • 6 знаков символа из числовых наборов А и В;

  • специальный знак-ограничитель;

  • правая свободная зона.

Символ UPC-E можно применять только для кодирования строк данных UCC-12, начинающих­ся с нуля и содержащих последовательность из четырех или пяти нулей в определенных позициях (таблица 5). Эти нули удаляют из данных при кодировании с помощью процесса отбрасывания нулей,

(кодирование «0 07834 00009 1» с отбрасыванием незначащих нулей)

  1. Кодирование символа UPC-E

Для кодирования соответствующей строки данных с отбрасыванием нулей применяют следую­щий алгоритм:

  1. Пусть D1, D2, D3, ... , D12 обозначают знаки данных UCC-12 (включая контрольную цифру). D1 всегда должен быть нулем. D12 должен быть контрольной цифрой символа, подсчитанной в соот­ветствии с алгоритмом, указанным в А.1.

  1. 2, ... , 6 обозначают шесть знаков символа в окончательном символе UPC-E.

  1. Знаки с D2 по D11 преобразуют в строку знаков символа, отбросив нули следующим обра­зом:

  1. если D11 равен 5, 6, 7, 8 или 9, знаки с D7 до D10 все включительно представлены нулями, а знак D6 не равен 0, то знаки с D7 до D10 не должны кодироваться в символе.

  1. Знак символа 1 2 3 4 5 6

Знак данных D2 D3 D4 D5 D6 D11;

) если знаки с D6 до D10 включительно равны нулю, а D5 не равен 0, то знаки с D6 до D10 не должны кодироваться в символе, а знак 6 должен быть равен 4.

Знак символа 1 2 3 4 5 6

Знак данных D2 D3 D4 D5 D11 4;

  1. если знак D4 равен 0, 1 или 2 и знаки с D5 до D8 включительно равны 0, то знаки с D5 до D8 не должны кодироваться в символе.

Знак символа 1 2 3 4 5 6

Знак данных D2 D3 D9 D10 D11 D4;

  1. если D4 равен 3, 4, 5, 6, 7, 8 или 9 и знаки с D5 до D9 включительно равны 0, то знаки с D5 до D9 не должны кодироваться в символе, а знак 6 должен быть равен 3.

Знак символа 1 2 3 4 5 6

Знак данных D2 D3 D4 D10 D11 3.

  1. Определяют числовые наборы для неявного кодирования D12 (таблица 4).

  1. Кодируют знаки символа с 1 до 6, используя числовые наборы А и В в соответствии с перечислением 3.

Т а б л и ц а 4 — Числовые наборы для UPC-E

Значение конт­рольной цифры D12

Числовые наборы, используемые при кодировании символа UPC-E для позиции знака символа

1

2

3

4

5

6

0

В

В

В

А

А

А

1

В

В

А

В

А

А

2

В

В

А

А

В

А

3

В

В

А

А

А

В

4

В

А

В

В

А

А

5

В

А

А

В

В

А

6

В

А

А

А

В

В

7

В

А

В

А

В

А

8

В

А

В

А

А

В

9

В

А

А

В

А

В




Примеры кодирования символов UPC-E

Исходные данные

Данные с отброшенными нулями

Правило

Пример 1: 0 1 2 3 4 5 0 0 0 0 5 8

1 2 3 4 5 5

В А В А А В

2а)

Пример 2: 0 4 5 6 7 0 0 0 0 0 8 0

4 5 6 7 8 4

В В В А А А

2 )

Пример 3: 0 3 4 0 0 0 0 0 5 6 7 3

3 4 5 6 7 0

В В А А А В

2с)

Пример 4: 0 9 8 4 0 0 0 0 0 7 5 1

9 8 4 7 5 3

В В А В А А

2d)



П р и м е ч а н и е — Числовые наборы, используемые для неявного кодирования контрольной цифры, приведены в графах «Данные с отброшенными нулями».

  1. Декодирование символа UPC-E

Восстановление 12-цифровой строки данных из знаков, закодированных в символе UPC-E, можно выполнить в соответствии с таблицей 5.

Т а б л и ц а 5 — Декодирование символа UPC-E

Закодированные UPC-E цифры


Декодированный номер


P1

P2

P3

P4

P5

P6


D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

(0)

1

2

3

4

5

0

(С)


(0)

1

2

0

0

0

0

0

3

4

5

(С)

(0)

1

2

3

4

5

1

(С)

(0)

1

2

1

0

0

0

0

3

4

5

(С)

(0)

1

2

3

4

5

2

(С)

(0)

1

2

2

0

0

0

0

3

4

5

(С)

(0)

1

2

3

4

5

3

(С)

(0)

1

2

3

0

0

0

0

0

4

5

(С)

(0)

1

2

3

4

5

4

(С)

(0)

1

2

3

4

0

0

0

0

0

5

(С)

(0)

1

2

3

4

5

5

(С)

(0)

1

2

3

4

5

0

0

0

0

5

(С)

(0)

1

2

3

4

5

6

(С)

(0)

1

2

3

4

5

0

0

0

0

6

(С)

(0)

1

2

3

4

5

7

(С)

(0)

1

2

3

4

5

0

0

0

0

7

(С)

(0)

1

2

3

4

5

8

(С)

(0)

1

2

3

4

5

0

0

0

0

8

(С)

(0)

1

2

3

4

5

9

(С)

(0)

1

2

3

4

5

0

0

0

0

9

(С)

П р и м е ч а н и я

  1. Знаки символа в позициях Р1, Р2,..., Р5 символа UPC-E представлены соответственно: 1, 2,..., 5.

  2. Восстановленные нули отмечены подчеркиванием.

  3. Незакодированная начальная цифра в символах UPC-E обозначена «(0)».

  4. Контрольная цифра, неявно закодированная в UPC-E обозначена «(C)».