Universal Product Code

В штрихкоде UPC-A каждая цифра представляется семибитной последовательностью, закодированной серией чередующихся штрихов и пробелов. Защитные штрихи (для наглядности выделенные зелёным) разделяют две группы по шесть цифр

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 в России» является представителем этой организации в Российской Федерации.

ISSN с дополнительным UPC-2, обозначающим 5-й номер выпуска
ISBN с дополнительным UPC-5, обозначающим рекомендуемую цену в 44,95 $

Разновидности кода:

  • 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-A и эквивалентный ему UPC-E
UPC-A UPC-E

Код 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 цифры левой половины кодируются по системе с чётным паритетом, правой половины — с нечётным. Это позволяет сканеру определять направление считывания. При обратном считывании левая половина становится правой, и сканер автоматически переворачивает последовательность.

Таблица кодирования штрихкода UPC-A
Цифра Левый код (чётный паритет) Правый код (нечётный паритет)
0 0001101 1110010
1 0011001 1100110
2 0010011 1101100
3 0111101 1000010
4 0100011 1011100
5 0110001 1001110
6 0101111 1010000
7 0111011 1000100
8 0110111 1001000
9 0001011 1110100

Защитные шаблоны:

  • Левый и правый: 101
  • Средний: 01010

Расчёт контрольного числа

В коде UPC-A (GTIN-12) контрольная цифра рассчитывается по следующему алгоритму:

  1. Суммируются цифры на нечётных позициях (1-я, 3-я, 5-я, 7-я, 9-я, 11-я, считая слева направо).
  2. Полученная сумма умножается на 3.
  3. Суммируются цифры на чётных позициях (2-я, 4-я, 6-я, 8-я, 10-я).
  4. Результаты двух предыдущих шагов складываются.
  5. Из ближайшего большего или равного числа, кратного 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]

См. также

Примечания

  1. NHRIC (National Health Related Items Code). HealthData. U.S. Department of Health & Human Services. Дата обращения: 5 марта 2017. Архивировано из оригинала 8 марта 2021 года.
  2. 1 2 UPC and EAN Bar Code Page. www.adams1.com. Дата обращения: 5 марта 2017. Архивировано из оригинала 30 января 2017 года.
  3. UPC-E SYMBOLOGY. www.barcodeisland.com. Дата обращения: 5 марта 2017. Архивировано из оригинала 26 февраля 2020 года.
  4. U.P.C. Questions about 666 Архивировано 6 января 2016 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.