0 / 0 / 0
Регистрация: 26.04.2022
Сообщений: 1
1

Как программно распознать какой разделитель используется в DataMatrix GS1 коде: FNC1 или GS?

26.04.2022, 15:11. Показов 158. Ответов 0

Столкнулся с проблемой распознавания DataMatrix кода ручным сканером.

Суть в том, что при генерации кода в качестве разделителя по стандарту может использоваться:
- GS-разделитель (он же символ ASCII со значением байта 29, он же /x1d в качестве управляющего символа)
- FNC1 (функциональный знак, байт со значением 232, по хорошему он стоит в начале штрих-кода, чтобы тот был интерпретирован по правилам DataMatrix GS1, но может использоваться и как разделитель внутри кода)

Несмотря на то, что коды сгенерированные c разными разделителями визуально выглядят по-разному, сканером (как минимум моим HoneyWell 1450G или камерой Cognex 262) они обрабатываются одинаково, выдавая один и тот же байт-код. Тем не менее, при обработке кода (конкретно в этом случае речь идет о выбытии товара из оборота на кассе) сканер регистрирует неверный разделитель (верный GS, неверный - FNC1) и выдает ошибку.

Конкретный пример:
Во вложении в штрих-кодах закодирован один и тот же текст: 0112345678909876214J!T3C93B23E
Один из них с GS-разделителем, другой - с FNC1-разделителем
Они различаются визуально, но содержат один и тот же текст
При получения данных по сканеру через COM-порт они выдают одинаковый результат:
30-31-31-32-33-34-35-36-37-38-39-30-39-38-37-36-32-31-34-4A-21-54-33-43-1D-39-33-42-32-33-45-0D
Где 1D и есть разделитель, что GS, что FNC1, строки одинаковые

Но при сканировании приложением Чекмарк он распознает их верно, по разделителям
Скриншоты во вложении

Мне нужно разобраться как можно распознать с помощью обычного ручного сканера какой в коде используется разделитель, какой сигнал или какую строку от сканера для этого нужно получить?
Изображения
    
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2022, 15:11
Ответы с готовыми решениями:

Узнать какой десятичный разделитель используется в системе
Всем здравствуйте. В C++Builder6 работал следующий код: String s = "1234.57"; float val =...

Десятичный разделитель. Или как определить что используется в текущей системе "." или ","
В принципе суть вопроса в заголовке. Я считываю строку, преобразую её в decimal, и если в компе...

какой тип списка используется в коде?
помогите определить какой тип списка используется в коде?...

Какой метод интегрирования используется в приведенном коде
Подскажите какой метод интегрирования здесь применен (метод средних прямоугольников, трапеций и...

Какой метод шифрование используется в этом коде?
Всем привет. Скажите подалуйста, какой метод шифрования используется в этом коде? Код выложил в...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2022, 15:11
Помогаю со студенческими работами здесь

Как определить какой *.exe* файл запускаеться (пользователем или программно)
Как определить какой *.exe* файл запускаеться (пользователем или программно) подскажите хочу...

Какой вариант чаще используется, if{} или if...endif?
какой вариант чаще используется на практике? if ($value) { ... } или if ($value): ......

Какой шаблон тут используется?Класса или функции
Какой шаблон тут используется? Шаблон класса или шаблон функции? И объясните,пожалуйста. ...

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

Как распознать ссылку в коде?
Добрый день. Вопрос новичка - как в коде определить является ли переменная ссылкой? Например Dim...

Какой тип краски используется в 121 картридже (пигментная или водорастворимая)?
народ, вот такая проблема, надо срочно заправить картридж а тип краски не знаю какой нужен.. модель...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru