хеш сумма значения штрих кода

Основы штрихкодирования.

Штриховой Код EAN13 является непрерывным, имеет фиксированную длину и высокую плотность записи позволяет отобразить 13 цифр от 0 до 9.

Рис.1. Пример штрихового кода EAN

Кодовое обозначение может выражаться восемью (EAN8) или тринадцатью (EAN13) цифрами, причем во втором случае реально кодируется только двеннадцать цифр. Знаки штрихового Кода EAN состоят из двух штрихов и двух промежутков.

Штриховое изображение всех 12-ти (8-ми) цифр составляет в целом символ кода EAN.

Рис.2. Стуктура штрихового кода EAN-13

Таблица 1. Характеристика позиций полного и сокращенного кодов в системе EAN

Расчет контрольной цифры для кода EAN-13

Расчет контрольной цифры для кода EAN-8

Расчет абсолютно идентичен рассмотренному выше.

Структура штрихового кода

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

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

Сочетание штрихов и пробелов, а также их расстановка внутри кажого цифрового знака, в зависимости от вида паритета записывается в виде комбинаций кода A, B или C, которые приведены в таблице 2.

Таблица 2. Перевод цифр в двоичную систему записи в зависимости от четности паритета

ЦифраКод цифры в двоичной системе
Комбинация AКомбинация BКомбинация C
нечетный паритетчетный паритетчетный паритет
0000110101001111110010
1001100101100111100110
2001001100110111101100
3011110101000011000010
4010001100111011011100
5011000101110011001110
6010111100001011010000
7011101100100011000100
8011011100010011001000
9000101100101111110100

Итак, любой символ кода EAN-13 состоит из шести цифровых знаков переменного паритета (исполненных в комбинациях A или B) в левой половине символа кода, а также шести цифровых знаков четного паритета (исполненных только в комбинации C) в правой половине символа кода, двух краевых и одного разделительного знаков.

Цифра, стоящая на 13-й позиции (она-же первая при чтении кода слева направо) определяет, в какой комбинации A или B, согласно паритета цифрового знака, будет исполнена каждая из цифр левой половины символа кода. По таблице 2.

Таблица 2. Исполнение цифровых знаков в комбинациях A и B в 7-12 позициях

Теперь рассмотрим пример кодирования кода EAN-13, который рассматривали выше: 4||018993||404787||.

В итоге мы получаем штриховой код, который приведен ниже. Распечатайте и считайте его!

Источник

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

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

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

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

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

Введение

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

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

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

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

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

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

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, так что массив нужно инвертировать. Заодно вычислим среднее значение.

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

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

Теперь нужно определить ширину одного «бита». Для этого мы выделим начало стартовой последовательности «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-коды.

Источник

Расчет контрольной суммы для кода EAN-13, EAN-8

Возникла задача по выпуску дисконтных карт. База у нас самописная, а так как карты накопительные, ошибка при введении номера или считывании кода довольно критична. Приняли решение, что номер карты будет закодирован с контрольным числом по алгоритму EAN-8, а магнитный код по EAN-13. Пришлось разобраться, как считается контрольная сумма. Делюсь алгоритмом.

Специальные предложения

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

Обновление 26.08.16 12:05

Код открыт Не указано

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020 4058 Eugen-S 22

Полезные примеры СКД, ч.2

Еще несколько примеров решения задач в СКД.

06.04.2021 10204 Neti 8

Неочевидные нюансы записи управляемой формы

Разберем несколько нюансов записи управляемой формы.

02.04.2021 12008 SeiOkami 54

Обзор полезных методов БСП 3.1.4

25.03.2021 38066 rayastar 51

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016 85235 Serginio 115

Звуковое управление в 1С 8.3

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021 6950 velemir 31

Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)

Покажу точки входа для доработки «типового» проведения документов в ERP для регистров оперативного учета. Рассмотрим три основные ситуации: нужно изменить имеющееся проведение документа; нужно сделать записи в существующие регистры; нужно с нуля описать алгоритм проведения в добавленный регистр. Пример реализован на 1С:ERP Управление предприятием 2 (2.5.4.120)

10.01.2021 10388 BuriyLesha 10

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

28.12.2020 8652 comol 31

Использование программных перечислений, ч.1: строковые константы Промо

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016 40910 unichkin 74

Базовые вещи БСП, которые облегчат жизнь программисту 1С

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

30.08.2020 19582 quazare 34

[Общий модуль] Динамическое формирование интерфейса

Версия 2.0.0.1 + добавил GitHub

28.08.2020 12332 rpgshnik 72

Серверные вызовы, которые нельзя вызывать

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020 9148 SeiOkami 34

Вспомогательные инструкции в коде 1С Промо

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018 35876 tormozit 106

Форма выбора (подбор) в управляемых формах

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020 73939 user5300 19

Программная работа с настройками СКД

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020 63652 ids79 26

[СКД] Программное создание схемы компоновки данных

Сделаем отчет на СКД полностью программно, без использования макета «схема компоновки данных».

15.01.2020 42636 John_d 22

Оформление и рефакторинг сложных логических выражений Промо

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

20.09.2012 82665 tormozit 131

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019 34301 kuzyara 38

30 задач. Странных и не очень

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019 23830 YPermitin 62

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019 12097 Sibars 19

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007 54129 tormozit 51

Полезные процедуры и функции для программиста

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

07.10.2019 39234 HostHost 41

Таблица значений. Нюансы

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019 52076 Yashazz 56

О программе Postman для тестирования API и для чего она нужна 1С-нику

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019 19731 budidich 31

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017 50887 tormozit 74

[Шпаргалка] Программное создание элементов формы

Программное создание практически всех популярных элементов формы.

06.09.2019 99010 rpgshnik 75

Агрегатные функции СКД, о которых мало кто знает

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019 76144 ids79 56

Регистры бухгалтерии. Общая информация

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019 45655 YPermitin 25

Выгрузка документа по условию Промо

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019 17916 m-rv 3

Три костыля. Сказ про фокусы в коде

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019 30025 YPermitin 81

Отслеживание выполнения фонового задания

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019 44582 ids79 22

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019 148081 ids79 75

Как прикрутить ГУИД к регистру сведений Промо

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

16.04.2019 23200 m-rv 18

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

02.08.2019 59435 avalakh 26

Разбираемся с параметрами редактирования СКД

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019 40882 json 17

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019 103304 ids79 16

Как сделать запрос на изменение данных Промо

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018 36599 m-rv 23

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «<…>», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019 47778 ids79 27

Регистры сведений. За кулисами

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019 33546 YPermitin 14

«Меньше копипаста!», или как Вася универсальную процедуру писал

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019 22399 SeiOkami 53

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

05.12.2017 30693 itriot11 34

Работа с настройками системы компоновки данных

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

Источник

Штрих-код и его расшифровка

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

Вопрос: Можно ли внести в форму товарной накладной N ТОРГ-12 такой дополнительный реквизит, как штрихкод?
Посмотреть ответ

Расшифровка и структура

хеш сумма значения штрих кода. Смотреть фото хеш сумма значения штрих кода. Смотреть картинку хеш сумма значения штрих кода. Картинка про хеш сумма значения штрих кода. Фото хеш сумма значения штрих кода

Тринадцатизначный код EAN разделяется на отдельные структурные зоны:

Расчёт контрольной цифры в штрих-коде

Воспользуйтесь приведённым ниже алгоритмом:

Полученная цифра и есть контрольная. Если не совпала — товар может быть произведён незаконно.

Штрих-коды стран производителей

Код производителяСтранаНациональная организация EAN/UCC
00-13США и КанадаUCC (U.S.A. & Canada)
30-37ФранцияGENCOD-EAN France
380БолгарияBCCI (Bulgaria)
383СловенияEAN Slovenia
385ХорватияEAN Croatia
387Босния и ГерцеговинаEAN-BIH (Bosnia-Herzegovina)
400-440ГерманияCCG (Germany)
45-49ЯпонияDistribution Code Center — DCC (Japan)
460-469РоссияUNISCAN / EAN RUSSIA (Russian Federation)
471ТайваньEAN Taiwan
474ЭстонияEAN Eesti (Estonia)
475ЛатвияEAN Latvia
476АзербайджанEAN Azerbaijan
477ЛитваEAN Lithuania
478УзбекистанEAN Uzbekistan
479Шри-ЛанкаEAN Sri Lanka
480ФилиппиныPANC (Philippines)
481БеларусьEAN Belarus
482УкраинаEAN Ukraine
484МолдоваEAN Moldova
485АрменияEAN Armenia
486ГрузияEAN Georgia
487КазахстанEAN Kazakhstan
489ГонконгHKANA (Hong Kong)
50ВеликобританияE Centre UK
520ГрецияHELLCAN — EAN HELLAS (Greece)
528ЛиванEAN Lebanon
529КипрEAN Cyprus
531МакедонияEAN-MAC (FYR Macedonia)
535МальтаEAN Malta
539ИрландияEAN Ireland
54Бельгия, ЛюксембургICODIF/EAN Belgium.Luxembourg
560ПортугалияCODIPOR (Portugal)
569ИсландияEAN Iceland
57ДанияEAN Danmark
590ПольшаEAN Poland
594РумынияEAN Romania
599ВенгрияEAN Hungary
600-601Южная АфрикаEAN South Africa
609МаврикийEAN Mauritius
611МароккоEAN Maroc (Marocco)
613АлжирEAN Algeria
616КенияEAN Kenya
619ТунисTUNICODE (Tunisia)
621СирияEAN Syria
622ЕгипетEAN Egypt
624ЛивияEAN Libya
625ИорданияEAN Jordan
626ИранEAN Iran
627КувейтEAN Kuwait
628Саудовская АравияEAN Saudi Arabia
629Объединенные Арабские ЭмиратыEAN Emirates
64ФинляндияEAN Finland
690-693КитайArticle Numbering Centre of China — ANCC (China)
70НорвегияEAN Norge (Norway)
729ИзраильIsraeli Bar Code Association — EAN Israel
73ШвецияEAN Sweden
740ГватемалаEAN Guatemala
741СальвадорEAN El Salvador
742ГондурасEAN Honduras
743НикарагуаEAN Nikaragua
744Коста-РикаEAN Costa Rica
745ПанамаEAN Panama
746Доминиканская РеспубликаEAN Republica Dominicana
750МексикаAMECE (Mexico)
759ВенесуэлаEAN Venezuela
76ШвейцарияEAN (Schweiz, Suisse, Svizzera)
770КолумбияIAC (Colombia)
773УругвайEAN Uruguay
775ПеруEAN Peru
777БоливияEAN Bolivia
779АргентинаCODIGO — EAN Argentina
780ЧилиEAN Chile
784ПарагвайEAN Paraguay
786ЭквадорECOP (Ecuador)
789БразилияEAN Brazil
80-83ИталияINDICOD (Italy)
84ИспанияAECOC (Spain)
850КубаCamera de Comercio de la Republica de Cuba (Cuba)
858СловакияEAN Slovakia
859ЧехияEAN Czech
860ЮгославияEAN YU (Yugoslavia)
867Северная КореяEAN DPR Korea (North Korea)
869ТурцияUnion of Chambers of Commerce of Turkey (Turkey)
87НидерландыEAN Nederland (Netherlands)
880Южная КореяEAN Korea (South Korea)
885ТаиландEAN Thailand
888СингапурSANC (Singapore)
890ИндияEAN India
893ВьетнамEAN Vietnam
899ИндонезияEAN Indonesia
90-91АвстрияEAN Austria
93АвстралияEAN Australia
94Новая ЗеландияEAN New Zealand
955МалайзияMalaysian Article Numbering Council (MANC)
958МакаоEAN Macau

Назначение штрих-кода

Введение в действие штрихового кода имело место в 1974 году, хоть патент на его изобретение был выдан в 1962 году.

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

В настоящее время штриховой код имеет и иные функции, а именно:

Местом нанесения штрихового кода является упаковка товара, а способом его нанесения – приклеивание ярлыков с нанесенными на них печатными штрих-кодами.

Виды штрих-кодов

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

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

Однако по сравнению с двумерными кодами все линейные штриховые коды обладают относительно малой информативной емкостью.

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

Дополнительно двумерные штриховые коды дифференцируются на:

Современные двумерные штриховые коды могут вмещать в себя, в зависимости от количества слоев, от 7 до 1900 байт информации о товаре.

Применение в штрих-кодов в РФ

В Российской Федерации наиболее распространенным видом штриховых кодов являются линейный 13-значный и линейный 8-значный.

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

Считывание

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

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

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

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

Что касается EAN-8:
По сути это младший собрат EAN-13, был введён для малоразмерных упаковок, для таких, где нет достаточно места для нанесения символики EAN-13.

Источник

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

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