Алексей Надёжин (ammo1) wrote,
Алексей Надёжин
ammo1

Categories:

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

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




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

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

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

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

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

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

Удивительно, но этот неправильный алгоритм повторяется на тысячах сайтов, включая вполне официальные, вроде сайта о техническом регламенте продукции 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. Я тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.
Subscribe

Recent Posts from This Journal

  • Индукционная плитка Xiaomi Mijia Mi Home Induction Cooker Lite DCL002CM

    Это самая маленькая и простая индукционная плитка с удобным управлением. По сравнению с традиционными плитами она позволяет экономить время, ведь…

  • Новая подборка промокодов ИЮНЬ 2023 🔥

    Подборка промокодов на все случаи жизни 👇 Сохраняйте, чтобы не потерять или используйте уже сегодня! ☑️ПРОДУКТЫ, ГОТОВАЯ ЕДА И ТОВАРЫ ДЛЯ…

  • Сделано в Саратове: завод РЭМО

    Уже много раз я рассказывал про антенны, обогреватели, рециркуляторы и другие изделия саратовского завода РЭМО, а сегодня наконец-то покажу, как всё…

  • Сковородка не работает :)

    Купил вчера на распродаже большую красивую сковородку за 175 фунтов (~380 руб). Завтра пойду сдавать её обратно в магазин. Продавцы наверное…

  • Кофемашина Nespresso и Dolce Gusto одновременно

    Многие выбирают, какой системы капсульную кофемашину купить. Другие ради экономии покупают перезаправляемые капсулы. В этой кофемашине учтены…

  • Самый простой способ замедления вентилятора

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

  • Быстрые sd-карточки "по цене семечек"

    Случайно обнаружил, что сейчас фирменные и достаточно быстрые карточки памяти Netac продают по той же цене, что и всякий ноунейм-хлам. Купил парочку…

  • Позже - Не принимаю

    Уже около года мой смартфон каждый день в произвольное время показывает окошко, предлагающее обновиться. Каждый раз я нажимаю "Позже", а потом…

  • Новая подборка промокодов май 2023 🔥

    Подборка промокодов на еду, продукты и напитки 👇 УЛУЧШЕННЫЕ БОНУСЫ, действуют последние дни или закончатся в любой момент: 🔻 Впрок Товары за…

promo ammo1 february 14, 2017 19:00 169
Buy for 50 tokens
В отличие от обычных ламп накаливания, различающихся только мощностью и качеством изготовления, светодиодные лампы имеют много параметров, влияющих на качество и безопасность освещения. Я расскажу об основных параметрах светодиодных ламп и порекомендую, какие лампы лучше подойдут для дома.…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 79 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

Recent Posts from This Journal

  • Индукционная плитка Xiaomi Mijia Mi Home Induction Cooker Lite DCL002CM

    Это самая маленькая и простая индукционная плитка с удобным управлением. По сравнению с традиционными плитами она позволяет экономить время, ведь…

  • Новая подборка промокодов ИЮНЬ 2023 🔥

    Подборка промокодов на все случаи жизни 👇 Сохраняйте, чтобы не потерять или используйте уже сегодня! ☑️ПРОДУКТЫ, ГОТОВАЯ ЕДА И ТОВАРЫ ДЛЯ…

  • Сделано в Саратове: завод РЭМО

    Уже много раз я рассказывал про антенны, обогреватели, рециркуляторы и другие изделия саратовского завода РЭМО, а сегодня наконец-то покажу, как всё…

  • Сковородка не работает :)

    Купил вчера на распродаже большую красивую сковородку за 175 фунтов (~380 руб). Завтра пойду сдавать её обратно в магазин. Продавцы наверное…

  • Кофемашина Nespresso и Dolce Gusto одновременно

    Многие выбирают, какой системы капсульную кофемашину купить. Другие ради экономии покупают перезаправляемые капсулы. В этой кофемашине учтены…

  • Самый простой способ замедления вентилятора

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

  • Быстрые sd-карточки "по цене семечек"

    Случайно обнаружил, что сейчас фирменные и достаточно быстрые карточки памяти Netac продают по той же цене, что и всякий ноунейм-хлам. Купил парочку…

  • Позже - Не принимаю

    Уже около года мой смартфон каждый день в произвольное время показывает окошко, предлагающее обновиться. Каждый раз я нажимаю "Позже", а потом…

  • Новая подборка промокодов май 2023 🔥

    Подборка промокодов на еду, продукты и напитки 👇 УЛУЧШЕННЫЕ БОНУСЫ, действуют последние дни или закончатся в любой момент: 🔻 Впрок Товары за…