Некоторые виды штрих-кода содержат как графическую информацию, так и текстовую. Как мы уже показывали в одной из наших предыдущих статей, цифровую информацию можно без особых трудностей прочитать и проверить. Учитывая то, что информация в виде цифр предназначена для человека, а не для сканеров штрих-кода, то удивляться тут нечему. Но, в конечном итоге, и люди и сканеры штрих-кода считывают одну и ту же информацию: результат один, но пути разные. Сканер считывает те самые чередующиеся черные и белые полоски штрих-кода, которые являются зашифрованным отображением цифр.
Вначале стоит пояснить, что в формировании штрих-кода используются черные штрихи и пробелы между ними. Ширина пробела между штрихами равняется ширине самого штриха, а в случае, когда между штрихами нет белого пространства, штрихи выглядят как один, более широкий штрих. Этот же принцип касается пробелов между штрихами: пространство шире, когда несколько пробелов идут друг за другом.
Штрих обозначает «1» (единицу) в двоичной системе, а пробел между штрихами — двоичный «0». Для построения штрих-кода, любая десятичная цифра от 0 до 9 формируется при помощи семи двоичных символов «0» и «1», что, при слиянии рядом стоящих штрихов и пробелов, графически всегда будет выглядеть как четыре объекта.
Таким образом, если рассмотреть цифру «4» в виде штрих кода, то одним из вариантов ее кодированного отображения будет выглядеть как «0100111», т.е. пробел — штрих — двойной пробел — тройной штрих.
В штрих-коде типа EAN-13 есть одна очень важная особенность: каждая десятичная цифра от 0 до 9 в двоичной системе может отображаться тремя различными способами: set A, set B и set C. Таблица ниже показывает три варианта двоичного эквивалента каждой из десятичных цифр.
|
set A |
set B |
set B |
0 |
0001101 |
0100111 |
1110010 |
1 |
0011001 |
0110011 |
1100110 |
2 |
0010011 |
0011011 |
1101100 |
3 |
0111101 |
0100001 |
1000010 |
4 |
0100011 |
0011101 |
1011100 |
5 |
0110001 |
0111001 |
1001110 |
6 |
0101111 |
0000101 |
1010000 |
7 |
0111011 |
0010001 |
1000100 |
8 |
0110111 |
0001001 |
1001000 |
9 |
0001011 |
0010111 |
1110100 |
В штрих-коде типа EAN-13 есть три пары штрихов, которые отличаются несколько большей длиной от остальных штрихов. У каждой пары, которая в десятичной системе выглядит как «101», есть свое предназначение: первая пара случит сканеру штрих-кода сигналом к началу сканирования штрих-кода, вторая пара разделяет последние 12 цифр штрих-кода на две части, тогда как последняя пара говорит и окончании штрих-код и необходимости завершения его сканирования.
Две части из шести цифр имеют небольшое отличие в способе формирования каждой из цифр. Правая часть использует set C для формирования штрих-кода, тогда как левая часть использует как set A, так и set B для шифрования цифр в этой части кода. Первая цифра штрих-кода обуславливается именно комбинацией наборов set А и set B. Следующая таблица показывает какая последовательность наборов A и B нужны для формирования первой цифры.
1-я цифра |
2-я цифра |
3-я цифра |
4-я цифра |
5-я цифра |
6-я цифра |
7-я цифра |
0 |
A |
A |
A |
A |
A |
A |
1 |
A |
A |
B |
A |
B |
B |
2 |
A |
A |
B |
B |
A |
B |
3 |
A |
B |
B |
B |
B |
A |
4 |
A |
B |
A |
A |
B |
B |
5 |
A |
B |
B |
A |
A |
B |
6 |
A |
B |
B |
B |
A |
A |
7 |
A |
B |
A |
B |
A |
B |
8 |
A |
B |
A |
B |
B |
A |
9 |
A |
B |
B |
A |
B |
A |
В качестве примера можно разобрать штрих-код на изображении. Интересующая нас часть штрих-кода выглядит так: «606453». В двоичной системе это выглядит так: 6 — «0101111»(set A), 0 — «0100111» (set B), 6 — «0101111» (set A), 4 — «0100011» (set A), 5 — «0111001»(set B), 3 — «0100001» (set B). У нас получилась комбинация букв АВААВВ. Находим в таблице, какой цифре соответствует данная комбинация — четыре.