Универсальный код продукта
Универсальный код продукта ( UPC или код UPC ) — это символика штрих-кода , которая используется во всем мире для отслеживания товаров в магазинах.
Выбранная символика имеет полосы (или пробелы) шириной ровно 1, 2, 3 или 4 единицы каждая; каждая десятичная цифра, подлежащая кодированию, состоит из двух полос и двух пробелов, выбранных так, чтобы иметь общую ширину 7 единиц, как в «четной», так и в «нечетной» форме четности , что позволяет сканировать в любом направлении. Специальные «защитные шаблоны» (шириной 3 или 5 единиц, не кодирующие цифру) смешиваются, чтобы облегчить декодирование.
UPC (технически UPC-A) состоит из 12 цифр, которые уникально присвоены каждому предмету торговли. Международная организация GS1 назначает цифры, используемые как для UPC, так и для соответствующего штрих-кода международного номера товара (EAN) . [1] Структуры данных UPC являются компонентом глобальных номеров торговых товаров (GTIN) и соответствуют глобальной спецификации GS1, основанной на международных стандартах. Некоторые розничные торговцы, такие как магазины одежды и мебели, не используют систему GS1, вместо этого используют другие символы штрих-кодов или системы нумерации товаров. Некоторые розничные продавцы используют символику штрих-кода EAN/UPC, но не используют GTIN для продуктов, продаваемых только в их собственных магазинах.
Исследования показывают, что внедрение и распространение UPC стимулировало инновации и способствовало росту международных розничных цепочек поставок. [2]
История [ править ]
Уоллес Флинт предложил в 1932 году автоматизированную кассовую систему с использованием перфокарт . Бернард Сильвер и Норман Джозеф Вудленд , аспирант Технологического института Дрекселя , разработали код в виде «яблочка» и подали заявку на патент в 1949 году. [3] [4]
В 1960-х и начале 1970-х годов железные дороги Северной Америки экспериментировали с многоцветными штрих-кодами для отслеживания вагонов , но в конечном итоге от этой системы отказались. [5] и заменена радиосистемой под названием «Автоматическая идентификация оборудования» (AEI) .
В 1973 году группа торговых ассоциаций бакалейной отрасли сформировала Совет по единообразным кодам продуктов (UPCC), который с помощью консультантов Ларри Рассела и Тома Уилсона из McKinsey & Company определил числовой формат, легший в основу Единого кода продуктов. Код. [6] Технологические фирмы, в том числе Charegon, IBM , Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA , Scanner Inc., Singer и Dymo Industries /Data General, выдвинули на совет альтернативные предложения по представлению символов. [ нужна ссылка ] Комитет по выбору символов в конце концов решил реализовать предложение IBM, разработанное Джорджем Дж. Лорером , но с небольшим изменением шрифта в удобочитаемой области. [ нужна ссылка ]
Первым товаром с маркировкой UPC, который когда-либо сканировался на розничной кассе, была упаковка из 10 (50 палочек) Wrigley's Juicy Fruit жевательной резинки , купленная в супермаркете Marsh в Трое, штат Огайо , в 8:01 утра 26 июня 1974 года. [7] цена В кассовом аппарате NCR выросла на 67 центов. [8] В тележке для покупок были и другие товары со штрих-кодом, но жевательная резинка была первой, которую взяли на кассе. Копия упаковки жевательной резинки была выставлена в института Смитсоновского Музее американской истории в Вашингтоне, округ Колумбия. [9] [10]
Мюррей Иден был консультантом команды, создавшей штрих-код универсального кода продукта. [11] [12] Будучи председателем комитета ученых Массачусетского технологического института , он помог «выбрать символ, который выдержит неизбежный натиск технологий, который ждет впереди». [13] Он выбрал шрифт и ему пришла в голову идея добавить цифры внизу, что является надежной системой на случай, если считыватель штрих-кода работает неправильно. [14] [15]
Предложение IBM [ править ]
Примерно в конце 1969 года компания IBM в Research Triangle Park (RTP) в Северной Каролине поручила Джорджу Лореру определить, как создать сканер и этикетку для супермаркетов. В конце 1970 года Херд Баумайстер представил уравнения для расчета количества символов на дюйм, достижимого с помощью двух штрих-кодов IBM, Delta A и Delta B. В феврале 1971 года Баумайстер присоединился к Лауреру.
Дельта B сравнивала ширину полоски с шириной пробела и битами кода. Это было чрезвычайно чувствительно к растеканию чернил: неправильный уровень чернил или давление приводили к тому, что оба края полосы растекались наружу или сжимались.
В середине 1971 года Уильям «Билл» Крауз изобрел новый штрих-код под названием Delta C. [4] Он достиг в четыре раза большего количества символов на дюйм, чем Delta B.
Delta C достигла более высокой производительности за счет использования только ведущей к передней или задней к задней кромке, на что не повлияло равномерное распределение чернил. Код обеспечивал наилучшую производительность, когда у него был определенный набор символов с фиксированным опорным расстоянием, охватывающим большую часть или, предпочтительно, весь символ.
В августе 1971 года к работе над сканером присоединился Крауз. Спустя несколько месяцев они не добились никакого прогресса. Они знали о этикетке RCA «яблочко», которую можно было сканировать с помощью простого лазерного сканера с прямой линией, но читаемая этикетка была слишком большой.
Хотя Litton Industries предложила разрезать символ бычьего глаза пополам, чтобы уменьшить площадь, он все равно был слишком большим и создавал те же проблемы с размазыванием чернил при печати, что и символ RCA. Избыточность и возможность проверки были полностью удалены. Они также знали о многочисленных предложениях со всего мира, ни одно из которых не было осуществимо.
Весной 1972 года Баумайстер объявил о прорыве. Он предложил метку со столбиками, длина которых немного превышала расстояние между всеми столбцами, которое нужно было прочитать за один проход. Эту этикетку можно сканировать с помощью простого X-сканера, лишь немного более сложного, чем прямой лазерный сканер. На следующий день Баумейстер предположил, что если разделить этикетку на две половины, длину стержней можно будет сократить почти вдвое.
Эти два предложения уменьшили площадь от яблочка на одну треть, а затем на одну шестую. На изображении справа показана этикетка, предложенная Баумайстером. Он не уточнил какой-либо конкретный штрих-код, поскольку это было хорошо понятно. За исключением штрих-кода и десяти цифр, этикетка UPC сегодня — это его предложение. Вскоре после этого Баумайстер перешел в другой отдел РТП.
Лаурер приступил к определению деталей этикетки и написанию предложения. Нью-Джерси Вудленд был назначен планировщиком проекта и помог Лореру написать его предложение.
В первой попытке Лаурера использовать штрих-код использовалась Delta B. В результате размер этикетки составил примерно шесть на три дюйма, что было слишком большим. Крауз предложил Лореру использовать свой штрих-код Delta C и предоставил копию своего патента, в котором содержался образец буквенно-цифрового набора символов и правила для создания алфавитов другого размера. Это уменьшило размер этикетки примерно до 1,5 × 0,9 дюйма (38 × 23 мм).
Позже Лаурер обратился к Краузу за помощью в том, как сканер может обнаружить этикетку. Вместе они определили защитные полосы и определили, как обнаружить метку. Защитные полосы также обеспечивают идентификацию половины метки и обучающие полосы для пороговых схем сканера. У Лаурера было полное определение ярлыка, и он приступил к написанию своего предложения. [16]
Раньше у Крауза была идея простой палочки, которую можно было бы носить как кольцо и браслет. Он решил разработать эту палочку, чтобы продемонстрировать этикетку. [ нужна ссылка ]
1 декабря 1972 года IBM представила предложение Лорера Комитету супермаркетов в Рочестере, штат Миннесота , месте, где IBM будет разрабатывать сканер. Во время презентации Крауз провел лабораторную демонстрацию, где он читал этикетки в стиле UPC с помощью кольцевой палочки. Помимо обычных этикеток, он прочитал большую двухстраничную этикетку на развороте в буклете с предложениями. Затем он открыл страницу с фотографией предметов с маркировкой, лежащих на столе. Этикетки были маленькими и некачественными из-за разрешения напечатанной фотографии, но палочка прочитала многие из них. Эта демонстрация показала надежность чистого кода Delta C. Предложение было принято.
Месяц спустя, 1 января 1973 года, Крауз снова перешел в группу передовых технологий IBM, и Лаурер остался с полной ответственностью за лейбл.
Dymo Industries , производитель портативных печатающих устройств, настаивал на том, чтобы код был независимым от символов. [ нужны разъяснения ] чтобы ручные печатающие устройства могли печатать штрих-код в магазине, если на товарах не был нанесен штрих-код производителями. Предложение Даймо было принято IBM и включено в последнее предложение IBM.
Было решено, что две половины этикетки должны иметь разный набор цифровых символов. В наборе символов, полученном Лаурером на основе патента Delta C, использовалось семь печатных приращений или единиц, в которых печатались две полосы и два пробела. Это дало двадцать комбинаций символов, но были две пары, которые при чтении по правилам Delta C давали один и тот же код для пары.
Поскольку восемнадцати символов было недостаточно, Лаурер попытался добавить к набору символов одну единицу. Это дало двадцать шесть символов Delta C, которые могли обеспечить два набора десятичных символов, но также добавили четырнадцать процентов к ширине метки и, следовательно, к высоте. Это будет увеличение площади на тридцать процентов или этикетка 1,7 × 1,03 дюйма (43 × 26 мм). Лаурер считал это неприемлемым.
Лаурер вернулся к исходному набору символов с двадцатью символами, но четыре из них были двумя парами с одинаковым чтением Delta C. Он решил использовать их все. Чтобы различать пары, он измерял ширину одной полоски в каждой паре, чтобы отличить их друг от друга. Для каждой пары эти столбцы будут иметь ширину в одну или две единицы.
Лаурер не применил к этому набору уравнения Баумайстера. Он чувствовал, что измерение ширины всего лишь одного стержня не будет слишком серьезным. Как оказалось, для увеличения площади более чем вдвое потребовалось бы увеличение ширины и высоты более чем на пятьдесят процентов. Позже Лаурер признал, что эти четыре символа в каждом наборе были причиной большинства ошибок чтения сканера.
Дэвиду Савиру, математику, было поручено доказать, что символ можно напечатать и он будет соответствовать требованиям надежности, и, скорее всего, он не знал об уравнениях Баумайстера. Он и Лаурер добавили к десяти еще две цифры для обнаружения и исправления ошибок .
Тогда они решили добавить четность нечет/чет к количеству ячеек, заполненных стержнями с каждой стороны. Паритет четности/нечетности — это метод, используемый для обнаружения любого нечетного числа битовых ошибок в битовом потоке. Они решили использовать нечетную на одной половине и четную на другой. Это обеспечит дополнительную индикацию того, какая половина билета читается. Это означало, что для обеспечения хороших показаний необходимо было точно считывать каждую ширину столбца. Это также означало, что каждое пространство также будет известно.
Требование точного считывания каждой разрядности фактически сводило на нет преимущество Delta C, за исключением эталонного измерения Delta C. Лишь странный набор символов и размер метки остаются тенью кода Delta C. Размер по-прежнему был рассчитан для чистой Delta C. Если бы размер этикетки был правильно пересчитан с учетом требуемых размеров ширины полосы, этикетка была бы слишком большой, чтобы ее можно было принять.
Машиностроение и проектирование электронных схем обычно требуют проектирования наихудшего случая с использованием известных допусков. Многие инженеры, работающие со штрих-кодами, имели мало опыта в таких вещах и использовали несколько интуитивные методы. Это стало причиной плохой работы кода Delta B и, вполне вероятно, отказа сканера «яблочко» RCA.
В следующей таблице показаны работоспособные этикетки, доступные в начале 1970-х годов, с указанием их размеров.
Тип этикетки | Размеры этикетки | Область |
---|---|---|
Яблочко с азбукой Морзе | Большой | Большой |
Яблочко с Дельтой Б | Диаметр 12,0 дюймов (300 мм) | 113,10 дюйма 2 (729,7 см 2 ) |
Яблочко с Дельтой А | Диаметр 9,0 дюймов (230 мм) | 63,62 дюйма 2 (410,5 см 2 ) |
Баумайстер 1-й с Дельтой B | 6,0 × 5,8 дюйма (150 × 150 мм) | 34,80 дюйма 2 (224,5 см 2 ) |
Baumeister 2 половинки с Delta B | 6,0 × 3,0 дюйма (152 × 76 мм) | 18.00 через 2 (116,1 см 2 ) |
Baumeister 2 половинки с Дельтой А | 4,5 × 2,3 дюйма (114 × 58 мм) | 10,35 дюйма 2 (66,8 см 2 ) |
Баумайстер с Delta C | 1,5 × 0,9 дюйма (38 × 23 мм) | 1,35 дюйма 2 (8,7 см 2 ) |
Это предполагает попадание в яблочко с той же информацией и надежной читаемостью.
Состав [ править ]
Каждый штрих-код UPC-A состоит из сканируемой полосы черных полос и пробелов над последовательностью из 12 цифровых цифр. Никакие буквы , символы или другой контент любого рода не могут присутствовать на штрих-коде UPC-A. Между 12-значным числом и полосой черных полос и пробелов существует взаимно однозначное соответствие, т.е. существует только один способ визуального представления каждого 12-значного числа и только один способ представления каждой полосы черных полос. и пробелы численно.
Сканируемая область каждого штрих-кода UPC-A соответствует шаблону S L LLLLLMRRRRR R E, где защитные шаблоны S (начало), M (середина) и E (конец) представлены одинаково на каждом штрих-коде UPC-A, а L Секции (слева) и R (справа) вместе представляют собой 12 числовых цифр, которые делают каждый UPC-A уникальным. Первая цифра L указывает конкретную систему счисления, которая будет использоваться следующими цифрами. Последняя цифра R — это обнаружения ошибок контрольная цифра , которая позволяет обнаружить некоторые ошибки при сканировании или вводе вручную. Защитные шаблоны разделяют две группы по шесть цифр и устанавливают время.
СКП-А | СКП-Э |
---|---|
UPC-A 042100005264 эквивалентен UPC-E 425261 с шаблоном четности «EOEEOO», который определяется системой счисления UPC-A 0 и контрольной цифрой UPC-A 4.
Форматирование [ править ]
Штрих-коды UPC-A можно печатать с различной плотностью, что позволяет использовать их в различных процессах печати и сканирования. Важный размерный параметр называется x-размером (ширина отдельного элемента модуля). Ширина каждой полосы (пробела) определяется путем умножения размера x на ширину модуля (1, 2, 3 или 4 единицы) каждой полосы (пробела). Поскольку каждый из защитных шаблонов включает в себя по две полосы, а каждая из 12 цифр штрих-кода UPC-A состоит из двух полос и двух пробелов, все штрих-коды UPC-A состоят ровно из (3 × 2) + (12 × 2) = 30 полоски, из которых 6 представляют собой защитные шаблоны, а 24 представляют собой числовые цифры.
Размер X для UPC-A при номинальном размере составляет 0,33 мм (0,013 дюйма). Номинальная высота символа для UPC-A составляет 25,9 мм (1,02 дюйма). Полосы, образующие защитные узоры S (начало), M (среднее) и E (конец), удлиняются вниз в 5 раз по оси X, в результате чего номинальная высота символа составляет 27,55 мм (1,08 дюйма). Это также относится к полосы первой и последней цифр штрих-кода UPC-A можно уменьшать или увеличивать от 80% до 200%.
Спокойная зона шириной как минимум в 9 раз больше размера X должна присутствовать на каждой стороне сканируемой области штрих-кода UPC-A. [17] [18] Для номера GTIN-12, закодированного в штрих-коде UPC-A, первая и последняя цифры удобочитаемой интерпретации всегда располагаются за пределами символа, чтобы указать зоны молчания, необходимые для правильной работы сканеров штрих-кодов UPC.
Кодировка [ править ]
Штрих-код UPC-A визуально представлен полосами полос и пробелов, которые кодируют 12-значный номер UPC-A. Каждая цифра представлена уникальным узором из 2 полосок и 2 пробелов. Полосы и пробелы имеют переменную ширину, т.е. ширину 1, 2, 3 или 4 модуля. Общая ширина цифры всегда равна 7 модулям; следовательно, для 12-значного номера UPC-A требуется в общей сложности 7×12 = 84 модуля .
Полный UPC-A имеет ширину 95 модулей: 84 модуля для цифр (секции L и R) в сочетании с 11 модулями для защитных шаблонов S (начало), M (среднее) и E (конец). Шаблоны защиты S (начало) и E (конец) имеют ширину 3 модуля и используют шаблон bar-space-bar , где каждая полоса и пробел имеют ширину в один модуль. Шаблон защиты M (средний) имеет ширину 5 модулей и использует шаблон пробел-пробел-пробел , где каждая полоса и пробел также имеют ширину в один модуль. Кроме того, для символа UPC-A требуется тихая зона (дополнительное пространство шириной 9 модулей) перед S (начало) и после E (конец) защитных шаблонов.
Тихий зона | С (начинать) | л (левая цифра) | М (середина) | Р (правая цифра) | И (конец) | Тихий зона | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |||||
Цифры левой стороны UPC-A (цифры слева от защитного шаблона M (среднего)) имеют нечетную четность, что означает, что общая ширина черных полос представляет собой нечетное количество модулей. Напротив, правые цифры имеют четность. Следовательно, сканер UPC может определить, сканирует ли он символ слева направо или справа налево (символ перевернут). После просмотра защитного шаблона S (начало) или E (конец) (они одинаковы, bar-space-bar , в каком бы направлении они ни читались), сканер сначала увидит нечетные цифры четности, если сканировать слева направо, или даже цифры четности, если сканировать справа налево. Благодаря информации о четности/направлении перевернутый символ не сбивает сканер с толку. Столкнувшись с перевернутым символом, сканер может просто проигнорировать его (многие сканеры чередуют сканирование слева направо и справа налево, поэтому они будут читать символ при последующем проходе) или распознать цифры и поместить их в правильном порядке. Есть еще одно свойство кодировки цифр. Правые цифры являются оптической инверсией левых цифр, т.е. черные полосы превращаются в белые пробелы и наоборот. Например, левая часть «4» равна space×1 - bar×1 — space×3 — bar×2 , тогда как правая часть «4» — это bar×1 — space×1 — bar×3 — space×2 .
Нумерация [ править ]
Количество штрих-кодов UPC-A и UPC-E ограничено стандартами, используемыми для их создания.
- СКП-А
- СКП-Э
Цифра системы счисления [ править ]
Ниже приведено описание всех возможных систем счисления с соответствующей 12-значной схемой нумерации UPC-A L LLLLLRRRRR R , где L обозначает цифру системы счисления и R контрольную цифру.
- 0–1, 6–9
- Для большинства продуктов. Цифры LLLLL — это код производителя (присвоенный местной организацией GS1 ), а цифры RRRRR — это код продукта.
- 2
- Зарезервировано для местного использования (магазин/склад), для товаров, продаваемых с переменным весом. Товарам с переменным весом, например мясу, свежим фруктам или овощам, магазин присваивает номер товара, если они там упакованы. В этом случае LLLLL — это номер товара, а RRRRR — это либо вес, либо цена, причем первый R определяет, что именно (0 — вес).
- 3
- Лекарства по номеру Национального кодекса лекарственных средств (NDC). Фармацевтические компании в США используют средние 10 цифр UPC в качестве номера NDC. Хотя обычно в точках продаж сканируются только лекарства, отпускаемые без рецепта , UPC на основе NDC используются на упаковках рецептурных лекарств и хирургических продуктах и в этом случае обычно называются кодами UPN. [19]
- 4
- Зарезервировано для локального использования (магазин/склад), часто для карт постоянного клиента или купонов магазина.
- 5
- Купоны . Цифры LLLLL — это цифры 2–6 префикса UPC продукта, следующие три RRR — это код семейства (устанавливается производителем или предоставляется клиринговой палатой купонов), а следующие два RR — это код стоимости (в соответствии со значением GS1). кодовая таблица), определяющая размер скидки. Эти купоны можно удвоить или утроить. [20]
Расчет контрольной цифры [ править ]
UPC включает контрольную цифру для обнаружения распространенных ошибок при вводе данных. Например, коды UPC-A выбирают контрольную цифру. чтобы удовлетворить уравнение контрольной цифры :
Если введенный код не удовлетворяет уравнению, то это недействительный UPC-A.
Контрольная цифра UPC-A может быть рассчитана следующим образом:
- Суммируйте цифры на нечетных позициях (первая, третья, пятая,..., одиннадцатая).
- Умножьте результат на 3.
- сумму цифр на четных позициях (вторая, четвертая, шестая,..., десятая). Прибавьте к результату
- Найдите результат по модулю 10 (т.е. остаток от деления на 10) и назовите его M .
- Если M равно нулю, то контрольная цифра равна 0; контрольная цифра равна 10 − M. в противном случае
Например, в штрих-коде UPC-A «03600029145 x 12 », где x 12 — неизвестная контрольная цифра, x 12 можно рассчитать следующим образом:
- Суммируйте нечетные цифры (0 + 6 + 0 + 2 + 1 + 5 = 14).
- Умножьте результат на 3 (14×3=42).
- Сложите четные цифры (42 + (3 + 0 + 0 + 9 + 4) = 58).
- Найдите результат по модулю 10 (58 по модулю 10 = 8 = M ).
- Если M не равно 0, вычтите M из 10 ( 10 − M = 10 − 8 = 2 ).
Таким образом, контрольная цифра x 12 равна 2.
Уравнение контрольной цифры выбирается так, чтобы оно имело разумные свойства обнаружения ошибок (см. Алгоритм Луна ).
- UPC-A может обнаружить 100% однозначных ошибок.
- Ошибка в одну цифру означает, что ровно одна цифра неверна. Пусть разность по модулю 10 ошибочной цифры и правильной цифры равна d . Значение d не может быть нулевым, поскольку это означает, что цифры одинаковы, но d может быть любым другим значением из {1, 2, 3, 4, 5, 6, 7, 8, 9}. Если цифра ошибки находится в нечетной позиции (вес 1), левая часть уравнения контрольной цифры изменяется на d , и эквивалентность больше не равна нулю. Если цифра ошибки находится в четной позиции (вес 3), то левая часть изменяется на 3 d , но это изменение также не равно нулю по модулю 10, поэтому уравнение контрольной цифры не удовлетворяется.
- UPC-A может обнаружить около 89% ошибок транспозиции. В частности, если и только если разница между двумя соседними цифрами равна 5, UPC-A не может обнаружить их перестановку.
- Если переставить 2 соседние цифры, то одна из цифр a будет иметь вес 1, а другая цифра b = a + d будет иметь вес 3, где d — разница между двумя цифрами. Если бы цифры были в правильном порядке, они бы внесли вклад
- в левую часть уравнения контрольной цифры. В транспонированном порядке они вносят вклад
- .
- в ЛХС. Вычитание этих двух вкладов дает, насколько они меняют ЛГС:
- Ошибка будет обнаружена, пока модульное изменение не равно нулю; если 2d ≡ 0 по модулю 10, то изменение не будет обнаружено. Следовательно, только когда разница символов d ≡ 5 будет необнаружена (когда d ≡ 0 вырожденная «транспозиция» не является ошибкой).
- Далее посмотрим, как часто транспозиция имеет расстояние d, равное 5.
- Если переставить 2 соседние цифры, то одна из цифр a будет иметь вес 1, а другая цифра b = a + d будет иметь вес 3, где d — разница между двумя цифрами. Если бы цифры были в правильном порядке, они бы внесли вклад
- Вот Таблица d-транспозиций для штрих-кодов UPC-A , где
Таблица d -транспозиций для штрих-кодов UPC-A д№0 1 2 3 4 5 6 7 8 9 1 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 2 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 3 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 4 3 3 3 4 3 5 3 6 3 7 3 8 3 9 5 4 4 4 5 4 6 4 7 4 8 4 9 6 5 5 5 6 5 7 5 8 5 9 7 6 6 6 7 6 8 6 9 8 7 7 7 8 7 9 9 8 8 8 9 10 9 9 Сумма 10 18 16 14 12 10 8 6 4 2
- В строке Sum указано количество d -транспозиций, поэтому доля необнаружимых ошибок транспозиции равна (без учета транспозиций, где d = 0 ):
- ▯
- В строке Sum указано количество d -транспозиций, поэтому доля необнаружимых ошибок транспозиции равна (без учета транспозиций, где d = 0 ):
Вариации [ править ]
UPC в наиболее распространенном использовании технически относится к UPC-A.
Существуют и другие варианты БКП:
- UPC-B — это 12-значная версия UPC без контрольной цифры, разработанная для Национального кодекса лекарственных средств (NDC) и Национального кодекса предметов медицинского назначения. [21] [ не удалось пройти проверку ] Он состоит из 11 цифр плюс 1-значный код продукта и не широко используется. [22]
- UPC-C — 12-значный код с кодом продукта и контрольной цифрой; не в общем пользовании. [22]
- UPC-D — это код переменной длины (12 или более цифр), где 12-я цифра является контрольной цифрой. Эти версии не получили широкого распространения.
- UPC-E — это 6-значный код, который имеет эквивалент в виде 12-значного кода UPC-A с системой счисления 0 или 1.
- UPC-2 — это двузначное дополнение к UPC, используемое для обозначения выпуска журнала или периодического издания.
- UPC-5 — это пятизначное дополнение к UPC, используемое для обозначения рекомендованной розничной цены на книги.
СКП-Э [ править ]
Чтобы разрешить использование штрих-кодов UPC на упаковках меньшего размера, где полный 12-значный штрих-код может не поместиться, была разработана версия UPC с подавлением нулей, называемая UPC-E, в которой цифра системы счисления, все конечные нули указаны производителем. код и все ведущие нули в коде продукта подавляются (опускаются). [23] Эта символика отличается от UPC-A тем, что она использует только 6-значный код, не использует защитный шаблон M (средний), а защитный шаблон E (конечный) формируется как пробел-пробел-пробел. , т. е. штрих-код UPC-E соответствует шаблону SDDDDDDE. То, как 6-значный UPC-E соотносится с 12-значным UPC-A, определяется числовым шаблоном UPC-E и шаблоном четности UPC-E. Он может соответствовать только системе счисления UPC-A 0 или 1, значение которой вместе с контрольной цифрой UPC-A определяет шаблон четности UPC-E кодировки. Если цифры кода производителя представлены буквами M, а цифры кода продукта буквами P, то:
Последняя цифра UPC-E | Числовой шаблон UPC-E | UPC-A эквивалент | Доступные номера продуктов |
---|---|---|---|
0 | ММППП0 | 0 или 1 + MM000-00PPP + контрольная цифра | ППС = 000-999 |
1 | ММППП1 | 0 или 1 + MM100-00PPP + контрольная цифра | ППС = 000-999 |
2 | ММППП2 | 0 или 1 + MM200-00PPP + контрольная цифра | ППС = 000-999 |
3 | МММПП3 | 0 или 1 + MMM00-000PP + контрольная цифра | ПП = 00-99 |
4 | ММММП4 | 0 или 1 + ММММ0-0000P + контрольная цифра | Р = 0–9 |
5 | МММММ5 | 0 или 1 + МММММ-00005 + контрольная цифра | 5 = П |
6 | МММММ6 | 0 или 1 + МММММ-00006 + контрольная цифра | 6 = П |
7 | МММММ7 | 0 или 1 + МММММ-00007 + контрольная цифра | 7 = П |
8 | МММММ8 | 0 или 1 + МММММ-00008 + контрольная цифра | 8 = П |
9 | МММММ9 | 0 или 1 + МММММ-00009 + контрольная цифра | 9 = П |
Например, UPC-E 654321 может соответствовать UPC-A 065100004327 или 165100004324, в зависимости от шаблона четности UPC-E закодированных цифр, как описано ниже:
СКП-А контрольная цифра | Шаблон четности UPC-E для UPC-A система счисления 0 | Шаблон четности UPC-E для UPC-A система счисления 1 |
---|---|---|
0 | ЭЭЭООО | ООООООО |
1 | ЭЭОООО | ХОРОШО |
2 | ЭЭОООО | ХОРОШО |
3 | ЭЭОООО | ООООООООООООООО |
4 | ЭОЭЭОО | ХОРОШО |
5 | ЭООООО | ХОРОШО |
6 | ОООООО | ООООО |
7 | ЭООООО | ОЭООЭО |
8 | ЭЭОООО | ООООООООООООООО |
9 | ЭООЭОЭ | ОООООО |
UPC-E 654321 с шаблоном четности «EOEOEO» (UPC-A 065100004327) будет закодирован как
- 1-1-1 4-1-1-1 1-2-3-1 2-3-1-1 1-4-1-1 2-2-1-2 2-2-2-1 1-1-1-1-1-1.
Штрих-код будет выглядеть так:
EAN-13 [ править ]
EAN -13 был разработан как расширенный набор UPC-A, в котором в начале каждого номера UPC-A добавлялась дополнительная цифра. Это увеличило количество теоретически возможных уникальных значений в десять раз до 1 триллиона. Штрих-коды EAN-13 также указывают страну, в которой находится компания, продающая продукт (которая может совпадать, а может и не совпадать со страной, в которой производится товар). Это определяют три ведущие цифры кода, согласно кодам стран GS1 . Каждый код UPC-A можно легко преобразовать в эквивалентный код EAN-13, добавив к коду UPC-A цифру 0. Это не меняет контрольную цифру . Все системы торговых точек теперь могут одинаково понимать и то, и другое.
EAN-8 — это 8-значный вариант штрих-кода EAN.
Примечания по использованию UPC:
- В настоящее время в Северной Америке принимаются все продукты, отмеченные EAN, в дополнение к тем, которые уже отмечены UPC.
- Продукты с существующим UPC не требуют повторной маркировки EAN.
- В Северной Америке EAN добавляет на 30% больше кодов, в основном за счет добавления цифр с 10 по 12 к цифрам UPC с 00 по 09. Это мощный стимул для постепенного отказа от UPC.
См. также [ править ]
- GS1 - Международная организация по стандартизации цепочек поставок
- Доказательство покупки
Ссылки [ править ]
- ^ «ШТРИХ-КОДОВАЯ ТАБЛИЦА GS1» . GS1 США . 3 апреля 2013 года. Архивировано из оригинала 7 января 2012 года . Проверено 7 июля 2011 г.
- ^ Баскер, Эмек; Симко, Тимоти (2021). «Upstream, Downstream: распространение и влияние универсального кодекса продукции» . Журнал политической экономии . 129 (4): 1252–1286. дои : 10.1086/712762 . ISSN 0022-3808 . S2CID 229505646 . Архивировано из оригинала 17 мая 2021 года . Проверено 14 марта 2021 г.
- ^ Патент США 2612994 , Вудленд, Норман Дж. и Сильвер, Бернард , «Классификационное устройство и метод», выдан 7 октября 1952 г.
- ↑ Перейти обратно: Перейти обратно: а б «UPC – Трансформация розничной торговли» . ИБМ . 7 марта 2012 г. Архивировано из оригинала 12 ноября 2021 г. . Проверено 12 ноября 2021 г.
- ^ «Краткая история штрих-кода» . Эсквайр . 153 (3): 42. Март 2010 г. Архивировано из оригинала 1 июня 2016 г.
- ^ «Наша инновационная история – McKinsey впервые» . mckinsey.com . 2013. Архивировано из оригинала 12 октября 2013 года (см. слайд 10 из 18).
- ^ Нельсон, Бенджамин (1997). От перфокарт к штрих-кодам: 200-летний путь с описаниями более 260 кодов . Питерборо, Нью-Хэмпшир: Издательство Хелмерс. ISBN 978-091126112-7 .
- ^ Альфред, Рэнди (26 июня 2008 г.). «26 июня 1974 года: Жвачка! Есть новый способ купить жевательную резинку» . Проводной . Архивировано из оригинала 24 августа 2010 года.
- ^ Хеллер, Натан. «Сканирование видов» . Гарвардский журнал . Сентябрь – октябрь 2005 г.
- ^ «История штрих-кода» . Смитсоновский институт. 23 сентября 2015 г. Архивировано из оригинала 9 февраля 2022 г. Проверено 12 августа 2021 г.
- ^ «Устная история: Мюррей Иден — Wiki по истории техники и технологий» . ethw.org . 10 ноября 1999 г. Архивировано из оригинала 21 января 2021 г. Проверено 4 января 2021 г.
- ^ Национальная комиссия по производительности и качеству труда (1975). Технологии, применяемые в пищевой промышленности: предварительный отчет . п. 15. Архивировано из оригинала 19 марта 2022 года . Проверено 14 января 2021 г.
- ^ Хаберман, Алан Л. (2001). Двадцать пять лет за решеткой: материалы, посвященные двадцать пятой годовщине СКП в Смитсоновском институте, 30 сентября 1999 г. Комитет публикаций Гарвардского университета в Вертхайме. стр. 74, 108. ISBN. 978-0-674-00657-7 .
- ^ Казанова, Стефани (18 августа 2020 г.). «Мюррей Иден, биомедицинский инженер, любящий пение, умирает в Тусоне в возрасте 99 лет» . Аризона Дейли Стар . Архивировано из оригинала 14 января 2021 года . Проверено 14 января 2021 г.
- ^ Рот, Брэд (17 апреля 2020 г.). «Мюррей Иден» . Середина . Архивировано из оригинала 21 января 2021 года . Проверено 14 января 2021 г.
- ^ «Члены Зала славы выпускников» . Ассоциация выпускников Университета Мэриленда . Университет Мэриленда. 2005. Архивировано из оригинала 23 июня 2007 года . Проверено 10 июня 2009 г.
После окончания Мэриленда в 1951 году Джордж Лаурер присоединился к IBM в качестве младшего инженера и дослужился до старшего инженера. В 1969 году он вернулся к технической стороне разработки, и позже ему была поручена монументальная задача по разработке кода и символа для идентификации продукта для Совета по единым кодам продуктов питания. Его решение — Универсальный код продукта — радикально изменило мир розничной торговли. С тех пор он усовершенствовал код, добавив 13-ю цифру.
- ^ Rainman_63 (6 апреля 2005 г.). «Рисование штрих-кодов UPC-A с помощью C#» . codeproject.com . Архивировано из оригинала 29 августа 2011 года . Проверено 7 июля 2011 г.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ Руководство по спецификации символов UPC . Совет по единому кодексу . 1986.
- ^ «Штрих-коды для фармацевтической и хирургической продукции» . UPCs.com . 24 марта 2022 года. Архивировано из оригинала 28 февраля 2023 года . Проверено 28 февраля 2023 г.
- ^ «Штрих-коды для купонов» . SimplyBarcodes.com . Архивировано из оригинала 16 февраля 2022 года . Проверено 16 февраля 2022 г.
- ^ «NHRIC (Национальный кодекс товаров, связанных со здоровьем)» . Данные о здоровье . Министерство здравоохранения и социальных служб США. Архивировано из оригинала 8 марта 2021 года . Проверено 12 октября 2015 г.
- ↑ Перейти обратно: Перейти обратно: а б «Штрих-код 1: сеть информации о штрих-кодах UPC и страницах штрих-кодов EAN» . Адамс Коммуникейшнз . 20 июня 2013 года. Архивировано из оригинала 8 марта 2021 года . Проверено 10 июля 2019 г.
- ^ «Символика UPC-A - справочная информация UPC-E и преобразование UPC-A в UPC-E» . barcodeisland.com . Архивировано из оригинала 26 февраля 2020 года . Проверено 21 января 2013 г.
Дальнейшее чтение [ править ]
- США 3832686 , Билгутай, Ильхан М., «Шрифт штрих-кода», опубликован 11 мая 1972 г., выдан 27 августа 1974 г.
- США 3145291 , Брейнерд, HB, «Система идентификации», опубликован 2 июля 1959 г., выпущен 18 апреля 1964 г. Штрих-код железной дороги.
- США 3617707 , Шилдс, Чарльз Б. и Стапельфельдт, Рулиф, «Автоматическая система идентификации автомобилей», опубликовано 17 августа 1967 г., выдано 2 ноября 1971 г.
- США 3723710 , Крауз, Уильям Г. и Джонс, Джон Э., «Способ и устройство для считывания и декодирования самосинхронизирующегося штрих-кода высокой плотности», опубликованный 28 июня 1971 г., выданный 27 марта 1973 г.
Внешние ссылки [ править ]
- История UPC - Музей истории ID - Где живет история UPC в Wayback Machine (архивировано 7 июля 2019 г.)
- UPC-Search.org Бесплатная онлайн-база данных СКП
- Префикс компании GS1 Список трехзначных префиксов GS1, указывающий страну происхождения компании в коде UPC (не обязательно страна производителя)