рейтинг блогов

Чудеса со штрихкодами

топ 100 блогов ammo128.01.2017 Сегодня я совершенно случайно обнаружил, что подавляющее большинство описаний подсчёта контрольной суммы самого обычного штрихкода EAN-13, которые можно найти в интернете, написаны так странно, что я сначала решил, что они ошибочны.

Чудеса со штрихкодами



В базе lamptest.ru есть штрихкоды ламп, которые я ввожу в экселевскую таблицу вручную. Конечно же при ручном вводе возможны ошибки, поэтому я попросил Матвея Иванова, сделавшего подсчёта итоговой оценки ламп в Excel, создать функцию, которая будет проверять правильность штрихкодов по их контрольной сумме.

Как известно, первые 12 цифр штрихкода кодируют информацию о товаре, а тринадцатая цифра - контрольная сумма.

Если набрать в поисковике "контрольная сумма штрихкода" в паре десятков первых ссылок будет одинаковый алгоритм:

1. Сложить цифры, стоящие на четных местах и полученную сумму умножить на три;
2. Сложить цифры, стоящие на нечетных местах (кроме самой контрольной цифры);
3. Сложить полученные числа;
4. Отбросить десятки;
5. Из числа 10 вычесть полученное число.

Я думаю немногие догадаются, что имеется в виду под "отбросить десятки". Оказалось, что это означает, что если число трехзначное, нужно оставить сотни и единицы и "склеить" в двузначное число.
То есть из 83 получаем 3, а из 105 получаем 15!

Если взять штрихкод 4607044243460, который я привёл на заглавной картинке, получается вот так:

1. 6+7+4+2+3+6=28 x3 = 84
2. 4+0+0+4+4+4 = 16
3. 84+16 = 100
4. Отбрасываем десятки и склеиваем сотни с единицами, получается 10.
5. 10-10=0. Контрольная сумма - 0.

Удивительно, но этот странный алгоритм повторяется на тысячах сайтов, включая вполне официальные, вроде сайта о техническом регламенте продукции http://www.tehreg.ru/scode_kontr.htm.

Более корректный алгоритм было найти не так-то просто, но я его всё же нашёл: http://life-prog.ru/2_77338_raschet-kontrolnogo-chisla-koda-EAN--.html.

Первые три строки совпадают:

1. Сложить цифры, стоящие на четных местах и полученную сумму умножить на три;
2. Сложить цифры, стоящие на нечетных местах (кроме самой контрольной цифры);
3. Сложить полученные числа;
4. Контрольным числом будет то, которое необходимо добавить к получившейся сумме, чтобы получить число, делящееся без остатка на 10.

В случае штрихкода, который я разбирал выше, сумма равна 100, значит контрольное число 0 (100 делится на 10 без остатка).


Заодно обнаружилось, что у IKEA штрихкоды 13-значные, но они не соответствуют EAN-13 и как у них считать контрольную сумму неизвестно. Вот, например штрихкод 3030597621633. Если бы это был EAN-13, на конце должна была бы быть семёрка, а там тройка.

Чудеса со штрихкодами


Нигде в интернете алгоритм подсчёта икеевской контрольной суммы найти не удалось. Может быть вы знаете, как её считать?

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


© 2017, Алексей Надёжин




Основная тема моего блога - техника в жизни человека. Я пишу обзоры, делюсь опытом, рассказываю о всяких интересных штуках. А ещё я делаю репортажи из интересных мест и рассказываю об интересных событиях.
Добавьте меня в друзья здесь. Запомните короткие адреса моего блога: Блог1.рф и Blog1rf.ru.

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

Оставить комментарий

Архив записей в блогах:
Фото: https://unsplash.com/@inspirationfeed Шурша по парковым дорожкам,  Шагает в глянцевых калошах  С зонтом в руке и в капюшоне  Подружка осень… На ...
Раскрыты некоторые подробности новых санкций Евросоюза. В 14-й пакет санкций ЕС войдет запрет частных перелетов и чартеров в интересах россиян. Об этом сообщил независимый бельгийский портал EUobserver со ссылкой на согласованный послами ЕС документ. В качестве примера EUobserver ...
Поговорим о Владимире Путине, который не только презирает всё советское, но, если судить по дворцу в Геленджике, склонен к мещанской роскоши с золотыми ершиками и унитазами. То есть перед нами типичный носитель пороков из советского журнала "Крокодил", которые в конце концов сгубили ...
Гнев - это грех. Тяжёлый, разрушительный грех. Разрушает и того, кто гневается. Вот некоторые говорят: - Гнев, это когда "не моя воля", когда что-то происходит не так,, как я хотел. Да, иногда гнев - это гнев на то, что "не моя воля". Но бывает гнев - на "несовершенство мира". ...
«Хезболла» выпустила более 60 ракет по Западной Галилее, около 15 из них было перехвачено, передаёт Al Jazeera. Это первый массированный ракетный обстрел Израиля после убийств Шукра в Бейруте и Хании в Тегеране. О последствиях на земле пока не сообщалось. На видео из сети — работа ...