Ean что это такое

Стандартизация

EAN (European Article Number)

Линейный штрихкод EAN-13. Значение продублировано арабскими цифрами в нижней части штрихового кода (13 знаков).

European Article Number, EAN-13 или EAN (европейский номер товара) — Европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Является надмножеством американского стандарта UPC.

Коды EAN-13, EAN-8 содержат только числа и никаких букв или других символов.

EAN-13 (полный) кодируется 13 цифр.

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

EAN-8 (сокращённый) кодируется 8 цифр.

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

EAN-128 позволяет опознать закодированную последовательность

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Стандартизация

— Стандартизацией и регистрацией кодов EAN занималась европейская ассоциациеия ЕАN, в продолжение развития стандартов разработанных организациями UCC (Uniform Code Council, Inc.) в США и ECCC (Electronic Commerce Council of Canada) в Канаде. В 2005 году все эти организации объединились друг с другом и разработали единый стандарт.

Теперь именно этот стандарт является универсальным для всех стран, а американская и канадская национальная организация настойчиво рекомендовала всем торговым компаниям своих стран заменить устаревшее оборудование и программы UPC, не способные считывать EAN, на современные.

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

История разработки и отличие EAN от UPC

Первоначально была разработана американская система штрихового кодирования Universal Product Code. Разработанная и внедрённая система кодировки товаров UPC в США и Канаде стала на столько популярной в торговых супермаркетах в те далёкие времена, что европейцы тоже призадумались о возможности применения этой очень удобной системы прежде всего в Европе, а также в других странах, то есть за пределами США и Канады. Стояло две задачи: обеспечить своих производителей определённым диапазоном кодов, отличных от «американских», для кодировки производимых товаров; и обеспечить возможность магазинам считывать как американские, так и европейские коды, и желательно, чтобы на упаковке был только один, единый штрихкод, а не два кода — один для США, другой для Европы. Для того, чтобы закодировать в коде товары других стран, необходимо было увеличить количество разрядов кода с 12 цифр, которые были в полном эксклюзивном владении американцев и канадцев, как минимум до 13 цифр, чтобы использовать эту дополнительную, и первую по счёту цифру в коде в качестве условного сигнала для торговых программ, что этот товар не американского производства, а товар производства другой страны. Американцам и канадцам в качестве этой цифры разработчики сразу зарезервировали ноль, что вполне естественно и логично.

Помимо организационной задачи перед разработчиками стояла серьёзная техническая задача – сохранить совместимость кодов, и одновременно возможность минимальных аппаратно-программных переделок сканеров штрихкода, очень удобных, но тогда ещё дорогих. Как говорится, чтобы «не изобретать велосипед», не тратить лишние средства на разработки, а воспользоваться уже имеющимися разработками американцев. Очень важно было сохранить всё то главное, что было в UPC: тоже самое количество штрихов; осевую симметричность кода для его удобного чтения как в прямом, так и в обратном направлении (если товар поднесён к сканеру «вверх-тормашками»); сохранить возможность чтения фотографически негативных кодов (некоторые производители и таким способом печатают код на товаре, то есть по тёмному фону светлые штрихи). В результате творческой работы, было найдено гениальное и простое решение: в целях максимальной совместимости, кодирование EAN было переработано из UPC так, что по-прежнему содержало только 12 «штриховых цифр», то есть только 12 цифр в коде имеют конкретноее соответствие конкретным штрихам, а эта тринадцатая, дополнительная, цифра «вычислялась» логическим путём. В принципе «рисунок» EAN-13 навскидку, ни чем не отличается от рисунка UPC, а для кодов, начинающихся с цифры ноль — точная копия.

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Тайна 13 цифры

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Первая цифра (в иллюстрации к статье — это цифра 5) кодируется иным способом, чем штрихами, она кодируется на определённом логическом уровне. То есть не группой штрихов, как последующие 12. Поэтому эту циферку, не имеющую конкретной штриховой группы внутри кода, часто располагают слева, за пределами самого кода. Как же кодируется тринадцатая цифра? Сразу нужно отметить, что правая половина кода не меняется в зависимости от того какая закодирована дополнительная цифра, в таблице структура цифр отмечена латинской буквой R. Логика тринадцатой цифры кроется в левой половине кода, в тех штрихах, которые кодируют левые 6 цифр. Это происходит на графическом уровне изображения кода каждой цифры. Из таблицы видно, что для кодирования первой цифры используется немного разное начертание штрихов обозначенное буквами L и буквами G. Определённое чередование этих кодов, даёт сканеру на уровне логики понять, какая первая цифра имелась ввиду. Например, для цифры «1» G-код у третьей, пятой и шестой цифры, то есть встретив код, в котором G-код левой части кода расположенны в этом порядке сканер в качестве первой цифры передаст в компьютер единичку. Для цифры «2» G-код у третьей, четвёртой и шестой цифры, соответственно сканер передаст в компьютер двоечку. Для других цифр эта логика отображена в таблице.

Также существует стандарт штрих-кода EAN-8, в теле сообщения которого кодируется только 8 цифр.

Каждая цифра в EAN кодируется с помощью четырёх штрихов: двух белых и двух чёрных. Штрихи могут иметь относительную ширину в одну, две, три и четыре единицы. Общая ширина штрихов одной цифры составляет семь единиц. Направление чтения комбинации штрихов значения не имеет

Кодирование цифр

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Каковы графические отличия L-кода, R-кода, и G-кода? По сути для каждой цифры это одна и таже комбинация черно-белых штрихов, L-код отличается от R-кода лишь фотографически негативным исполнением, а G-код, в свою очередь, отличается от R-кода реверсивным (зеркальным) исполнением.

Так что ничего особо нового европейцы не придумали, но вот таким простым и гениальным способом вкодировали тринадцатую цифру.

Для цифры ноль в коде ни для одной из шести цифр левой части кода нет ни одного преобразования в зеркально-негативный вид, то есть все штрихи кодируются L-кодом, как в UPC. EAN-сканер, встретив код без штрихов с G-кодом, передаёт в компьютер первую цифру «ноль». В свою очередь, если этот код прочитает редкий на сегодняшний день, уже ушедший в историю американский сканер штрихкодов UPC, то он будет просто прочитан как «родной» код UPC, только и всего. Если же сканер UPC встретит на своём пути штриховку с G-кодом, то он просто не сможет считать этот код, и выдаст ошибку или не заметит и не передаст ни какой код в компьютер. Этим и обеспечена полная совместимость «снизу-вверх».

Резюмируя вышесказанное можно констатировать, что UPC может считаться частным случаем, подмножеством кода EAN-13, у которого первая цифра есть 0, которая часто не указывается в виде арабской цифры, и эти коды в этом случае ни чем не отличаются друг от друга по рисунку. Была полностью сохранена возможность чтения «американских» кодов на «европейских» сканерах, но не наоборот. Сам код EAN-13, и его 13 цифра в свою очередь формируется «игрой» негативности-реверсивности последовательности штрихов в левой части кода, в результате чего, чисто «американские» сканеры UPC читать европейский код не в состоянии, но обеспечена максимальная «похожесть» кодов друг на друга. К счастью, за эти годы, и в США и в Канаде этот тип сканеров уже вытеснен из всех магазинов, и установлены сканеры, способные считывать кодировку EAN-13, то есть продажа товаров из других стран не вызывает никаких проблем при продаже на территории стран-основателей этой самой распространённой системы автоматизации продаж.

Источник

Штрих код в России: как все сделать по закону и не переплатить

Кто хотя бы раз делал покупки, не мог не обратить внимание на то, как быстро, в одно движение, происходит считывание информации с упакованного товара и передача ее на кассовый компьютер. Одной из главных предпосылок такого быстрого учета товаров является то, что на каждом из них есть штрих код — геометрическая картинка-шифр, содержащая нужную информацию. За каждым шифром стоит специальный номер. Откуда берется этот номер, зачем нужен штрих код, кроме как для быстрого обслуживания клиентов — расскажем в этой статье. Также будут рассмотрены волнующие многих читателей вопросы. Например, как получить штрих код для своего товара, насколько это трудно, сколько будет стоить и нужно ли это делать вообще.

Что такое штрих код товара и зачем он нужен

Итак, чтобы было легко вести учет товарной продукции, предназначенной для внутреннего и международного рынка, каждому товару необходимо присвоить уникальный номер. Этот номер кодируется специальной программой, которая переводит его из цифрового вида в графический. Получается картинка из набора геометрических фрагментов, которую называют штриховым кодом.

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Информацию, представленную в виде штрих кода, может считывать специальное устройство — лазерный сканер. Он бывает стационарный, например, встроенный в кассовый аппарат, или портативный, ручной. Считанная информация расшифровывается встроенным или внешним декодером и передается в центральный компьютер, где и происходит идентификация и обработка информации. По сравнению с неавтоматизированным процессом учета товаров, который включает в себя инвентаризацию, сортировку, контроль остатка в торговом зале и на складе, перемещения, поступления, применение кодирования имеет большие преимущества:

Кроме того, наличие штрих кода в значительной степени может защитить товар от подделки. Различают одномерный, или линейный, и двумерный штрих код. Одномерный код состоит из вертикальных полос разной толщины в горизонтальной последовательности с пробелами разного размера. Он значительно проще двумерного, содержит необходимую и достаточную информацию для учета товара и используется гораздо чаще.

Двумерный штрих код мощнее и информативнее, но применять его не всегда целесообразно, так как он:

Штрих код товара может быть расположен на обратной или боковой стороне упаковки, в правом нижнем углу, на этикетке или как самоклеящаяся этикетка, распечатанная на специально предназначенном для этого принтере.

Уникальный товарный номер

Как было сказано выше, штрих код представляет собой геометрически зашифрованный цифровой код товара — уникальный товарный номер. В практике мировых торговых отношений используются европейские номера EAN (European Article Number) — EAN-13 и EAN-8, обладающие уникальностью в мировом масштабе. Каждый из них присваивается национальным регистратором, в том числе EANCODE, осуществляющим регистрационные мероприятия в России. При этом получить штрих код в EANCODE может не только российская, но также и иностранная компания со статусом юридического лица, банковским счетом и русскоговорящими сотрудниками. Вся переписка иностранной компании в этом случае должна осуществляться на русском языке, а любые расчеты в российских рублях.

Присвоение товарного номера и занесение его в единую мировую базу данных дает существенные преимущества:

Получателем штрих кода для товара может быть не только его производитель, но и владелец бренда, а также импортер.

Для многих не совсем понятно, что из себя представляет код GTIN (Global Trade Item Number) — глобальный код товара, который часто упоминается в контексте с EAN-13 и EAN-8. По сути это тот же самый EAN-13 или EAN-8, но дополненный вначале нулями для того, чтобы довести количество цифр до 14. Такой формат требуется во многих приложениях. Например, для маркировки грузов и при оформлении прайс листов.

Информация, которую содержит штрих код

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Часто международный номер товара прописывается под соответствующим ему штрих кодом арабскими цифрами. Хороший товаровед должен уметь читать этот цифровой ряд без помощи сканеров и декодеров. При считывании тринадцатизначного основного кода — EAN-13 можно определить:

Если страна имеет много предприятий-производителей на своей территории или за рубежом, ее кодом может быть не одно трехзначное число, а несколько, находящихся в определенном диапазоне. В таблице приведены некоторые примеры:

СтранаДиапазон первых цифр кода
СШАОт 000 до 139
ФранцияОт 300 до 379
ГерманияОт 400 до 440
ИталияОт 800 до 839
АвстрияОт 900 до 919
ЯпонияОт 450 до 459 и от 490 до 499
ВеликобританияОт 500 до 509
Бельгия и ЛюксембургОт 540 до 549
ДанияОт 570 до 579
ФинляндияОт 640 до 649
НорвегияОт 700 до 709
ШвецияОт 730 до 739
НидерландыОт 870 до 879
ШвейцарияОт 760 до 769
ИспанияОт 840 до 849
АвстралияОт 930 до 939
Новая ЗеландияОт 940 до 949
РоссияОт 460 до 469
КитайОт 690 до 695
КанадаОт 754 до 755
ЮАРОт 600 до 601
БразилияОт 789 до 790

Для полной проверки необходимо зайти в поисковик глобального регистратора, ввести цифровой код и включить поиск. Если код легальный, вы получите информацию об обладателе кода. Если поддельный — ничего не найдете.

Код EAN-8 на товар малого размера представляет собой укороченный вариант EAN-13. Содержит информации меньше:

Системы графического кодирования

Чтобы получить штрих код, цифры нужно зашифровать и представить в графической форме. Существует много способов шифровки данных о товаре, но в подавляющем большинстве для этого используют систему кодирования EAN. Штрих код EAN-13 соответствует международному товарному номеру EAN-13 для стандартных и больших упаковок. Штрих код EAN-8 соответствует товарному номеру EAN-8, который принят для товаров в маленькой упаковке, когда нет возможности полностью разместить EAN-13.

Также в мире распространено применение американского штрих-кода из 12 цифр — UPC-12 (то же, что UPC-А). После объединения организации Американского совета по единому коду UCC с организацией EAN в единую мировую систему EAN — UCC, американский штрих код адаптировали к европейскому. Теперь он является частью кода EAN-13. Для приведения в полное соответствие и возможность считывания сканерами достаточно к 12-разрядному американскому коду впереди добавляется префикс в виде нуля.

Где получить штрих код для товара в России

В принципе, любое предприятие может использовать незарегистрированный штрих код на товар, который будет актуален для внутреннего пользования. Этим правом, например, пользуются большие супермаркеты, наклеивая свой штрих код на свою продукцию, у которой он изначально отсутствовал. Это позволяет весь без исключения перечень продукции включить в систему автоматического учета предприятия. В качестве внутреннего штрих-кода можно использовать международный номер, но при этом обязательно впереди добавить цифру 2. Можно использовать любые другие штриховые коды и даже создать свой собственный с нужной структурой. Но за пределами организации или предприятия любые виды «домашнего» штрих кода не используются.

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

На сайте компании EANCODE вы найдете много полезной информации о том, как приобрести штрих коды на организацию и ИП и сможете получить бесплатную консультацию онлайн по любым интересующим вопросам. Компания помогает получить и зарегистрировать уникальные товарные коды EAN-13, EAN-8, которые используются как во внутренних торговых структурах, так и в международной торговле. Также в связи с нарастанием тенденции к расширению информации о товарах, которую предоставляют клиентам, EANCODE работает с кодами EAN-13+5, которые образуются при добавлении к EAN-13 кода EAN-5. В этом случае с этикетки считывается ряд дополнительных данных о товаре, включая сведения о дате окончания срока годности.

Как зарегистрировать штрих код

Чтобы зарегистрировать штрих код на продукцию любого предприятия, нужно:

После этого остается оплатить счет.

Присвоение штрих кода

На следующий день после того, как произведена оплата, от EANCODE будут получены присвоенные заявленным товарам штрих коды. Каждый из них будет уже зарегистрированы в международной базе. Вместе со штрих кодами будет выслан сертификат о том, что присвоение штрих кода на товар произошло в законном порядке. Также вы получите графическое изображение штрих кодов для типографии.

Если каждый год производится взнос в размере 5000 рублей, предприятие сохраняет право на получение штрих кодов на всю свою продукцию в любом количестве без дополнительной оплаты. Все штрих коды, полученные через компанию EANCODE, имеют неограниченный срок действия, считываются любыми видами сканеров и могут применяться в любых торговых сетях.

Заключение

Хотя присвоение штрих кода на продукцию не является необходимым с точки зрения закона, это позволяет получить ряд существенных преимуществ и избежать многих трудностей, связанных с доверием деловых партнеров и покупателей. Использование системы штрих кодов на продукцию значительно упрощает труд кассиров, улучшает качество обслуживания покупателей и помогает правильному прогнозированию закупок. Если ваш торговый бизнес предусматривает внешние или даже международные деловые связи, то вам необходимо оформить нужные бумаги и получить на свои товары штрих код EAN. Специалисты компании EANCODE с удовольствием вам в этом помогут.

Источник

Как устроен штрихкод?

Со штрихкодами современный человек сталкивается каждый день, даже не задумываясь об этом. Когда мы покупаем в супермаркете продукты, их коды считываются именно с помощью штрихкода. Также посылки, товары на складах, и прочее и прочее. Однако, мало кто знает, как же реально это работает.

Как устроен баркод, и что закодировано на этой картинке?

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Попробуем разобраться, заодно напишем декодер таких кодов.

Введение

Использование штрихкодов имеет давнюю историю. Первые попытки автоматизации начинались еще в 50х, патент на устройство считывания кодов был получен в 1952г. Инженер, занимавшийся сортировкой вагонов на железной дороге, захотел упростить процесс. Идея была очевидной — кодировать номер с помощью полос и считывать их с помощью фотоэлементов. В 1962г коды стали официально использоваться для идентификации вагонов на американской железной дороге (система KarTrak), в 1968 прожектор заменили лазерным лучом, что позволило повысить точность и уменьшить размер считывателя. В 1973г появился формат «универсального кода продукта» (Universal Product Code), и в 1974 с использованием сканера кодов был продан первый продукт (жевательная резинка Wrigley’s — это же США;) в супермаркете. В 1984 треть магазинов использовали штриходы, в России же они начали использоваться примерно с 90х годов.

Разных кодов под разные задачи сейчас используется довольно много, к примеру, последовательность «12345678» может быть представлена такими способами (и это еще не все):

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Приступим к побитовому разбору. Далее, все ниженаписанное будет относиться к виду «Code-128» — просто потому, что его формат довольно простой и понятный. Желающие поэкспериментировать с другими видами, могут открыть онлайн-генератор и посмотреть самостоятельно.

На первый взгляд штрихкод кажется просто беспорядочной последовательностью линий, на самом деле, его структура четко фиксирована:

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

1 — Пустое место, нужное для четкого определения начала кода
2 — Стартовый символ. Для Code-128 возможны 3 варианта (называемых А, В и С): 11010000100, 11010010000 или 11010011100, им соответствуют разные кодовые таблицы (подробнее в Википедии).
3 — Собственно код, содержащий нужные нам данные
4 — Контрольная сумма
5 — Стоп символ. Для Code-128 это 1100011101011.
6(1) — Пустое место.

Теперь о том, как кодируются биты. Тут все очень просто — если взять ширину самой тонкой линии за «1», то линия двойной ширины даст код «11», тройная «111», и так далее. Пустое место будет «0» или «00» или «000» по тому же самому принципу. Желающие могут сравнить стартовый код на картинке, чтобы убедиться что правило выполняется.

Теперь можно начинать программировать.

Получаем битовую последовательность

В принципе, это самая сложная часть, и разумеется, алгоритмически ее можно реализовать по-разному. Не уверен, что приведенный ниже алгоритм оптимальный, но для учебного примера его вполне достаточно.

Для начала загрузим изображение, растянем его по ширине, возьмем из середины изображения горизонтальную линию, преобразуем ее в ч/б и загрузим в виде массива.

На штрихкоде черному соответствует «1», а в RGB наоборот, 0, так что массив нужно инвертировать. Заодно вычислим среднее значение.

Запускаем программу, чтобы убедиться, что баркод загружен корректно:

Ean что это такое. Смотреть фото Ean что это такое. Смотреть картинку Ean что это такое. Картинка про Ean что это такое. Фото Ean что это такое

Теперь нужно определить ширину одного «бита». Для этого мы выделим начало стартовой последовательности «1101», записывая моменты перехода графика через среднюю линию.

Мы записываем только переходы через середину, так что код «1101» будет записан как «101», но нам этого достаточно чтобы узнать его ширину в пикселах.

Теперь собственно декодирование. Находим очередной переход через середину, и определяем число бит, попавших в интервал. Поскольку совпадение не абсолютное (код может быть слегка изогнут или растянут), используем округление.

Не уверен что это оптимальный вариант, возможно, есть способ лучше, желающие могут написать в комментариях.

Если все было сделано правильно, то мы получаем на выходе примерно такую последовательность:

11010010000110001010001000110100010001101110100011011101000111011011
01100110011000101000101000110001000101100011000101110110011011001111
00010101100011101011

Декодирование

Здесь никаких сложностей в принципе, нет. Символы в Code-128 кодируются 11-битным кодом, который имеет 3 разновидности (А, В и С) и может хранить либо разные кодировки символов, либо цифры от 00 до 99.

В нашем случае, начало последовательности 11010010000, что соответствует «Code B». Было жутко влом вбивать вручную все коды из Википедии, поэтому таблица была просто скопирована из браузера и ее парсинг был тоже сделан на Python (hint: на продакшене так делать не надо).

Теперь осталось самое простое. Разбиваем нашу битовую последовательность на 11-символьные блоки:

Наконец, формируем строку и выводим ее на экран:

Ответ на то, что закодировано в таблице, приводить не буду, пусть это будет домашним заданием для читателей (использование готовых программ для смартфонов будет считаться читерством:).

В коде также не реализована проверка CRC, желающие могут сделать это самостоятельно.

Разумеется, алгоритм неидеален, и был написан за полчаса. Для более профессиональных целей есть готовые библиотеки, например pyzbar. Код с использованием такой библиотеки займет всего 4 строчки:

(предварительно нужно установить библиотеку, введя команду «pip install pyzbar»)

Дополнение: о подсчете CRC написал в комментариях пользователь vinograd19:

Интересна история контрольной цифры. Она возникла эволюционно.
Контрольная цифра нужна для того, чтобы избежать неправильного декодирования. Если штрихкод был 1234, а его распознали как 7234, то нужна валидация, которая предупредит замену 1 на 7. Валидация может быть неточная, чтобы хотя бы в 90% невалидные номера определялись заранее.

1-й подход: Давайте просто возьмем сумму. Чтобы в остатке от деления на 10 был 0. Ну то есть первые 12 символов несут информационную нагрузку, а последняя цифры подбирается так, чтобы сумма цифр делилась на 10. Декодируем последовательность, если сумма не делится на десять — значит декодировали с багом и нужно сделать это еще раз. Например, код 1234 — валидный. 1+2+3+4 = 10. Код 1216 — тоже валидный, а вот 1218 — нет.

Это позволяет избежать проблем с автоматикой. Однако в момент создания штрихкодов был фоллбек в виде набивания номер на клавишах. И там есть плохой кейс: если поменять порядок следования двух цифр, то контрольная сумма не меняется, и это плохо. То есть если штрихкод 1234 был вбит как 2134, контрольная сумма сойдется, а вот номер мы вбили неправильный. Оказывается, неправильный порядок цифр — это распространенный кейс, если стучать по клавишам быстро.

2-й подход. Хорошо, давайте сумму сделаем чуть сложнее. Чтобы цифры на четных местах учитывались дважды. Тогда при изменении порядка, сумма точно не сойдется к нужной. Например код 2364 валидный (2 + 3+3 + 6 + 4+4 = 20), а код 3264 — невалидный (3+ 2+2 + 6 + 4+4 = 19). Но тут оказался еще один плохой пример вбития. Некоторые клавиатуры такие, что десять цифр располагаются в два ряда. первый ряд 12345 и под ним второй второй ряд 67890. Если вместо клавишы «1» нажать правее клавишу «2», то контрольная сумма предупредит неправильный ввод. А вот если вместо клавишу «1» нажать ниже клавишу «6» — то может не предупредить. Ведь 6=1+5, и в случае когда эта цифра стоит на четном месте при вычислении контрольной суммы, мы имеем 2*6 = 2*1 + 2*5. То есть контрольная сумму увеличилась ровно на 10, поэтому ее последняя цифра не изменилась. Например контрольные суммы кодв 2134 и 2634 одинаковые. Та же ошибка будет, если мы вместо 2 нажмем 7, вместо 3 нажмем 8 и тд.

3-й подход. Ок, давайте что ли возьмем опять сумму, только цифры, стоящие на четных местах будем учитывать… трижды. То есть код 1234565 — валидный, потому как 1 + 2*3 + 3 + 4*3 + 5 + 6*3 +5 = 50.

Описанный способ стал стандартом вычисления контрольной суммы EAN13 за небольшими правками: число цифр стало фиксированным и равно 13, где 13-ая — это та самая контрольная цифра. Цифры на нечетных местах считаются трижды, на четных — один раз.

Заключение

Как можно видеть, даже такая простая вещь как штрихкод, имеет в себе немало интересного. Кстати, еще один лайфхак для тех, кто дочитал до сюда — текст под штрихкодом (если он есть) полностью дублирует его содержание. Это сделано для того, чтобы в случае нечитабельности кода, оператор мог ввести его вручную. Так что узнать содержимое штрихкода обычно просто — достаточно посмотреть на текст под ним.

Как подсказали в комментариях, наиболее популярным в торговле является код EAN-13, битовое кодирование там такое же, а структуру символов желающие могут посмотреть самостоятельно.

Если у читателей не пропал интерес, отдельно можно рассмотреть QR-коды.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *