Перейти к предыдущей части статьи
Самое время задуматься: почему в его названии фигурирует цифра 13? Потому что он состоит из 13 цифр, 12 из которых закодированы в виде штрихов, а вот самая первая цифра кода не считывается, а вычисляется в процессе сканирования.
Эта сложность связана с процессом развития кода. Дело в том, что системе кодирования информации EAN-13 предшествовала система, которая первоначально была разработана в США под названием UPC-A. UPC — это сокращение слов «Universal Product Code» («Универсальный продуктовый код»). Система UPC-A предназначалась для управления товарооборотом на территории США и Канады. Все товары в этой системе можно было закодировать 12 цифрами. Несколько цифр из этих 12 кодировали компании-производители, несколько — код продукта. Последняя цифра из дюжины была контрольной и вычислялась по сложному алгоритму. Контрольная цифра подтверждала (или не подтверждала) правильность прочтения кода.
Когда по тому же принципу потребовалось создать всемирную систему контроля товарооборота, американскую систему решили расширить, но так, чтобы она осталась работоспособной.
Чтобы интернационализировать систему UPC-A, было решено выделить еще несколько цифр для кодировки страны-производителя. Две требуемые цифры смогли «оторвать» от кода производителя и от кода товара. Но все равно для кодировки всех стран на планете двух цифр не хватало. Пришлось дополнить уже существовавший код еще одной цифрой. Для американских товаров эта цифра была равна 0. Благодаря этому американская система становилась подмножеством всемирной.
Однако прочитать добавленную цифру оказывалось невозможно, поскольку все старые приборы были рассчитаны на чтение только 12 цифр, а не 13.
Поэтому еще одну цифру, которую добавили к американскому коду спереди, решили вычислять, слегка изменив систему кодировки других цифр. Старые сканеры при этом продолжали безотказно работать с американскими товарами, но иногда могли давать сбой при чтении кодов товаров европейского производства. Этот сбой следовало исправлять по ходу дела ручным вводом. Новое же поколение сканеров могло вычислять первую цифру кода EAN-13 без ошибки.
Особенность первой цифры кода EAN-13 подчеркивается даже ее положением. Первая цифра размещается за пределами
Для вычисления первой цифры в систему кодировки левой группы цифр были внесены изменения. Эта группа состоит из 6 цифр, 3 из них по-прежнему кодировали в прямой кодировке L-кодом, а вот 3 другие стали кодировать R-кодом в обратной кодировке. (Этот код в документации иногда называют G-кодом.) Первая цифра кода вычислялась по тому, какие из цифр были закодированы «неправильно». Для американских товаров все цифры в левой группе штрих-кода EAN-13 зашифрованы «правильно», поэтому первая цифра для американских товаров всегда будет 0.
Да, в самом деле, алгоритм-головоломка! Но это не беда. Ведь никто не шифрует и не расшифровывает штрих-коды вручную. И чтение их, и печать осуществляются специальными программами, которые быстро и безошибочно преобразовывают алфавитные и цифровые символы в штрих-коды. Как говорится, «легким движением руки».
Сейчас в каждом мобильном телефоне имеется аппликация, позволяющая просканировать любой штрих-код и тут же отыскать в Интернете информацию о товаре, этим штрих-кодом закодированную. А при желании, даже осуществить покупку. Информационная революция творит чудеса!
По этой причине для большей части человечества не нужно знать, каким образом цифры или символы превращаются в штрих-коды. Ведь чтобы слушать радио, совсем не обязательно знать устройство радиоприемника. Но если у читателя в детстве чесались руки разобрать радиоприемник, чтобы понять, как он работает, будем надеяться, что его любопытство удовлетворено.