
UPC или Universal Product Code (универсальный код товара) — американский стандарт штрихкода, предназначенный для отслеживания товаров в магазинах. UPC разработан в 1973 году инженером корпорации IBMДжорджем Джосефом Лорер (George Joseph Laurer). В июне 1974 года первый UPC-сканер производства корпорации NCR был установлен в супермаркете Марш (Marsh) в городе Трой (Troy) штата Огайо. 26 июня 1974 года кассиром этого супермаркета был просканирован первый товар — блок 10 фруктовых жевательных резинок компании Wrigley.
Стандартизация
Стандартизацией и регистрацией кодов UPC занимались организации UCC (Uniform Code Council, Inc.) в США и ECCC (Electronic Commerce Council of Canada) в Канаде. В 2005 году эти организации объединились с европейской ассоциацией EAN и образовали глобальную организацию по стандартизации GS1. «Национальная организация GS1 в России» является представителем этой организации в Российской Федерации.


Разновидности кода:
- UPC-B — 12-цифровая версия UPC без контрольной цифры, разработанная для National Drug Code (NDC) и National Health Related Items Code.[1][нет в источнике] Эта версия содержит 11 цифр, а также ещё 1-цифровой код продукта. Эта разновидность не получила широкого применения[2].
- UPC-C — 12-цифровой код, содержащий код продукта и проверочную цифру. Не получил широкого применения[2].
- UPC-D — код с переменной длиной (12 цифр и более), в котором 12-я цифра является контрольной цифрой. Не получил широкого применения.
- UPC-E — код из 8 цифр, эквивалентный UPC-A, но использующий систему сжатия лишних нулей[3].
- UPC-2 — код из 2 цифр, используемый в дополнение к UPC для обозначения номера выпуска журналов.
- UPC-5 — код из 5 цифр, используемый в дополнение к UPC для обозначения рекомендуемой розничной стоимости товара.
Код UPC содержит только числа и никаких букв или других символов.
Усовершенствование кода для применения в других странах
UPC, содержащий 12 цифр, является прародителем европейского усовершенствованного кода EAN-13, кодирующего 13 цифр. Код UPC является частным случаем, подмножеством кода EAN-13. Код UPC преобразуется в код EAN-13 дописыванием нуля перед двенадцатью цифрами кода UPC. То есть, товар, штрихкод которого мы видим на рисунке к этой статье, будет иметь код EAN-13: 0036000291452. Именно по этой причине коды товаров, произведённых в США или Канаде, в европейской кодировке начинаются с нуля.
При таком преобразовании структура штрихов (штриховка) остаётся идентичной UPC. Таким образом была обеспечена совместимость американских кодов для чтения в Европе без какой-либо перепечатки этикеток или переупаковки товара.
Более подробная информация о коде EAN-13 и его отличиях от UPC - в статье European Article Number.
Общее описание структуры
Код состоит из двух групп цифр по шесть цифр в каждой — левой и правой. Группы цифр окаймляются защитными (ограждающими) штрих-шаблонами (Guard Patterns). Эти шаблоны содержат штрихи единичной ширины и служат для синхронизации сканера штрихкода. Наличие трёх защитных полей обусловлено возможным нанесением штрихкода на закруглённую поверхность.
Левые и правые защитные шаблоны состоят из трёх штрихов единичной ширины — двух тёмных и одного светлого между ними. Средний защитный шаблон состоит из пяти штрихов — трёх светлых и двух тёмных. Остальная часть кода — цифры.
Каждая цифра кодируется четырьмя штрихами: двумя светлыми и двумя тёмными. Каждый штрих может иметь ширину одну, две, три или четыре единицы. Общая ширина штрихов одной цифры — семь единиц. Битовая комбинация каждой цифры разработана так, чтобы цифры максимально отличались друг от друга. Максимальная длина тёмного или светлого участка — четыре единицы. Общая ширина кода — 95 единиц. В любом коде 29 светлых и 30 тёмных штрихов.
Первая цифра кода — префикс — имеет логическое значение. Последняя цифра — контрольная, служит для проверки правильности считывания.
Направление чтения комбинации штрихов не влияет на результат: код считывается одинаково в прямом и обратном направлении. Исполнение штрихкода (позитивное или негативное) также не влияет на считывание: светлые полосы по тёмному фону читаются так же, как тёмные по светлому. Цвета штрихов и фона могут быть любыми.
Кодировка цифр
В UPC-A цифры левой половины кодируются по системе с чётным паритетом, правой половины — с нечётным. Это позволяет сканеру определять направление считывания. При обратном считывании левая половина становится правой, и сканер автоматически переворачивает последовательность.
Защитные шаблоны:
- Левый и правый: 101
- Средний: 01010
Расчёт контрольного числа
В коде UPC-A (GTIN-12) контрольная цифра рассчитывается по следующему алгоритму:
- Суммируются цифры на нечётных позициях (1-я, 3-я, 5-я, 7-я, 9-я, 11-я, считая слева направо).
- Полученная сумма умножается на 3.
- Суммируются цифры на чётных позициях (2-я, 4-я, 6-я, 8-я, 10-я).
- Результаты двух предыдущих шагов складываются.
- Из ближайшего большего или равного числа, кратного 10, вычитается полученная сумма. Если результат равен 10, контрольная цифра равна 0.
Пример для кода 03600029145X (где X — искомая контрольная цифра):
- Нечётные позиции: 0 + 6 + 0 + 2 + 1 + 5 = 14
- 14 × 3 = 42
- Чётные позиции: 3 + 0 + 0 + 9 + 4 = 16
- 42 + 16 = 58
- 60 − 58 = 2
Контрольная цифра — 2. Полный код: 036000291452.
При проверке считанного кода контрольная цифра включается в сумму чётных позиций. Если итоговая сумма кратна 10, код считан правильно.
Кодировка товара
Код UPC предназначен для уникальной идентификации видов товаров разных производителей. Каждый вид товара (различающийся цветом, размером, фасоном и т.п.) должен иметь отдельный код.
Первоначальная структура кода:
- Префикс — 1 цифра
- Код производителя — 5 цифр
- Код товара — 5 цифр
- Контрольная цифра — 1 цифра
Теоретический максимум — 100 миллиардов различных видов товаров. Коды, начинающиеся с 2, зарезервированы для внутреннего использования торговыми предприятиями (весовые товары, карты покупателя и т.п.). Их использование за пределами предприятия запрещено.
Префикс
Первая цифра кода:
- 0, 1, 6, 7, 8 — обычные товары
- 2 — товары на вес (внутреннее использование магазина)
- 3 — медикаменты (по коду National Drug Code)
- 4 — товары для розничных сетей (in-store marketing)
- 5 или 9 — купоны
Код предприятия
Цифры 2–6 (после префикса) — код предприятия, присваиваемый GS1.
Код товара
Цифры 7–11 — код товара, присваиваемый предприятием самостоятельно. Рекомендуется последовательное присвоение без смысловой нагрузки.
Миф о трёх шестёрках
Для синхронизации считывания Джордж Лорер предусмотрел три защитных поля (Guard Patterns): левое (101), среднее (01010) и правое (101). Визуально защитные поля и кодировка цифры 6 (1010000) имеют сходство. Джордж Лорер считает это случайностью.[4]
См. также
Примечания
- ↑NHRIC (National Health Related Items Code). HealthData. U.S. Department of Health & Human Services. Дата обращения: 5 марта 2017. Архивировано из оригинала 8 марта 2021 года.
- ↑ 12UPC and EAN Bar Code Page. www.adams1.com. Дата обращения: 5 марта 2017. Архивировано из оригинала 30 января 2017 года.
- ↑UPC-E SYMBOLOGY. www.barcodeisland.com. Дата обращения: 5 марта 2017. Архивировано из оригинала 26 февраля 2020 года.
- ↑U.P.C. Questions about 666Архивировано 6 января 2016 года.
Ссылки
- Домашняя страница Джорджа Джосефа Лорера (англ.)
- Расшифровка и генерирование штрихкодов UPC-AАрхивная копия от 8 октября 2020 на Wayback Machine (англ.)
- Онлайн генератор штрих-кодов UPC и EAN13Архивная копия от 12 октября 2020 на Wayback Machine (англ.)
- Расчёт контрольных сумм на gs1.orgАрхивная копия от 4 октября 2020 на Wayback Machine (англ.)

