Носителем основной информации'в штриховом коде является соотношение ширины темных полос (штрихов) и ширины светлых полос (пробелов) между штрихами. Причем каждая цифра кодируется всего двумя штрихами и двумя пробелами, которые имеют соответствующую ширину и определенное расположение в отведенном для цифры месте. Отведенное для каждой цифры кода место называется цифровой знак и является основной единицей информации штрихового кода. Все цифровые знаки имеют одинаковую ширину и состоят из 7-ми модулей (в системе EAN), поэтому ширина штрихов и пробелов всегда кратна модулю. Модуль - самый узкий элемент, что видно из рис. 3. Для того чтобы удобно записывать штриховой код каждой цифры, а н рисовать сами штрихи, применяют двоичную систему записи цифр, хорош знакомую программистам, которая очень удачно сочетается с штриховьн изображением. Для этого штрихи обозначают цифрой "1", а пробелы - "О", примеру, штриховой код цифры 5 запишется в этой системе так: 0110001. Рис. 3. Один знаке системе EAN (укрупненное штриховое изображение цифры "6я, соответствующее двоичному коду "010111Г) Из изложенного выше мы уже знаем, что весь символ штрихового код делится на левую и правую части. В кодировании знаков левой половит заключена возможность проверки на нечетность, т. е. если пересчитать вс< темные модули штрихов в левой половине кода, то сумма их составит нечетно" число, а если то же самое проделать с правой половиной, то в результат" подсчета всех темных модулей штрихов получим в сумме четное число, так ка правая часть наделена возможностью проверки на четность. Эта возможность проверки на четность и нечетность введена для исключи ния ошибки и самопроверки при считывании кода с помощью технически устройств. После считывания код попадает в компьютер и проверяется н. правильность (наличие ошибок), посредством проверки на четность/нечет ность. Если это условие не выполняется, то значит при считывании произошл; ошибка и необходимо еще раз считать код с помощью специального тэхничес кого устройства. Также при штриховом кодировании введен еще один термин или понятие В зависимости от выполнения правила четности/нечетности левой или право! половины кода цифровые знаки называются знаками четного или нечетногс паритета. Паритет говорит нам о том, что если он четный, то сумма темны,-модулей двух штрихов, которыми закодирована данная цифра, есть числе четное, и наоборот - если паритет нечетный. Это правило относится к каждому цифровому знаку. Сочетание штрихов и пробелов, а также их расстановка внутри каждого цифрового знака в зависимости от вида паритета записывается в виде комбинаций кода А, В и С, которые приведены в табл. 2. Таблица 2. Перевод цифр в двоичную систему записи в зависимости от четности паритета Каждая цифра кода представляет собой сочетание штрихов и пробелов, исполняемых в комбинациях А, В или С, тип комбинации определяется первой цифрой префикса -"флага" страны. Так, цифры от 0 до 9 в системе EAN, исполненные в комбинациях А, В и С, будут иметь следующий вид (см. рис. 4). С учетом всех вышеописанных принципов можно определить, что любой символ кода EAN-13 состоит из шести цифровых знаков переменного паритета (исполненных в комбинациях А или В) в левой половине символа кода, а также шести цифровых знаков четного паритета (исполненных только в комбинации С) в правой половине символа кода, двух краевых и одного разделительного знаков. Рис. 4. Изображение цифр по системе EAN в различных комбинациях Цифра стоящая на 13-й позиции (она же первая при чтении кода ел ев. направо), определяет, в какой комбинации А или В, согласно паритета цифро вого знака, будет исполнена каждая из цифр левой половины символа кода согласно табл. 3. Таблица 3. Исполнение цифровых знаков в комбинациях А и В левой половины символа, определяемых кодом страны
Приведем пример кодирования кода EAN 8||591234||123457|| : Рис. 5. Пример кодирования кода EAN-13 Теперь покажем последовательность действий по осуществлению преобразования цифрового кода в штриховой (табл. 5.) по следующей схеме, когда уже определены коды товара, предприятия-изготовителя и страны. Таблица 4. Перевод цифрового кода в штриховой код
|