Кодирование вспомогательных знаков
Вспомогательные знаки должны быть составлены в соответствии с таблицей 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.
Форматы символов
Символы 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
Символы EAN-8
Символ EAN-8 должен быть составлен следующим образом (при считывании слева направо): - левая свободная зона;
типовой знак-ограничитель;
4 знака символа из числового набора А;
центральный знак-ограничитель;
4 знака символа из числового набора С;
типовой знак-ограничитель;
правая свободная зона.
Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соот-
Символы UPC-A
Символ UPC-A должен быть составлен следующим образом (при считывании слева направо):
левая свободная зона;
типовой знак-ограничитель;
6 знаков символа из числового набора А;
центральный знак-ограничитель;
6 знаков символа из числового набора С;
типовой знак-ограничитель;
правая свободная зона.
Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соответствии с А.1. Символы UPC-A могут быть декодированы как 13-разрядный номер добавлением подразумеваемого начального нуля к номеру UCC-12. Пример символа штрихового кода UPC-A приведен на рисунке 3.
Рисунок 3 — Символ штрихового кода UPC-А
Символы UPC-E
^мвол UPC-E составлен следующим образом (при считывании слева направо):
левая свободная зона;
типовой знак-ограничитель;
6 знаков символа из числовых наборов А и В;
специальный знак-ограничитель;
правая свободная зона.
Символ UPC-E можно применять только для кодирования строк данных UCC-12, начинающихся с нуля и содержащих последовательность из четырех или пяти нулей в определенных позициях (таблица 5). Эти нули удаляют из данных при кодировании с помощью процесса отбрасывания нулей,
(кодирование «0 07834 00009 1» с отбрасыванием незначащих нулей)
Кодирование символа UPC-E
Для кодирования соответствующей строки данных с отбрасыванием нулей применяют следующий алгоритм:
Пусть D1, D2, D3, ... , D12 обозначают знаки данных UCC-12 (включая контрольную цифру). D1 всегда должен быть нулем. D12 должен быть контрольной цифрой символа, подсчитанной в соответствии с алгоритмом, указанным в А.1.
2, ... , 6 обозначают шесть знаков символа в окончательном символе UPC-E.
Знаки с D2 по D11 преобразуют в строку знаков символа, отбросив нули следующим образом:
если D11 равен 5, 6, 7, 8 или 9, знаки с D7 до D10 все включительно представлены нулями, а знак D6 не равен 0, то знаки с D7 до D10 не должны кодироваться в символе.
Знак символа 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;
если знак D4 равен 0, 1 или 2 и знаки с D5 до D8 включительно равны 0, то знаки с D5 до D8 не должны кодироваться в символе.
Знак символа 1 2 3 4 5 6
Знак данных D2 D3 D9 D10 D11 D4;
если 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.
Определяют числовые наборы для неявного кодирования D12 (таблица 4).
Кодируют знаки символа с 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) |
П р и м е ч а н и е — Числовые наборы, используемые для неявного кодирования контрольной цифры, приведены в графах «Данные с отброшенными нулями».
Декодирование символа 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 |
(С) |
|
П р и м е ч а н и я
|