Штрих-код Code 39 сканирует другое значение при использовании USB-сканера и сканера камеры телефона.

Очень надеюсь, что кто-то сможет помочь с этим, поскольку я почти схожу с ума, пытаясь понять, почему это происходит.

Я получаю разные результаты при сканировании одного и того же значения в штрих-коде Code 39 с помощью обычного USB-сканера штрих-кода и камеры моего телефона.

При сканировании значения 482168 с помощью сканера штрих-кода я получаю значение 142673096, вставленное в блокнот; При сканировании значения 482172 с помощью сканера штрих-кода я получаю значение 142673122, вставленное в блокнот; Значения 482169 и 482171 вставлены правильно.

Сначала я думал, что проблема в приложении, которое генерирует эти штрих-коды, однако то же самое происходит, когда они генерируются здесь https://barcode.tec-it.com/en/Code39FullASCII?data=482168

Я подумал, что проблема могла быть в длине и ширине штрих-кода, но их корректировка не дала никакого эффекта.

Кто-нибудь когда-нибудь сталкивался с чем-то подобным и мог бы предположить, почему они читаются и кодируются по-другому?


person Aleksandr Sergunin    schedule 13.08.2020    source источник
comment
Я подозреваю, что сканер неправильно определяет проблемные штрих-коды как чередующиеся 2 из 5 (ITF). В обеих символиках используется кодирование с узкой и широкой шириной, и у ITF есть некоторые проблемы, с которыми сканеры должны иметь дело. Можете ли вы настроить USB-сканер на прием только code39 (или не на прием ITF)?   -  person Mark Warren    schedule 13.08.2020
comment
Привет, Марк, спасибо за ваше сообщение. Я просканировал коды команд из руководства пользователя, чтобы отключить чередование 2of5, а также промышленное 2of5 на всякий случай, однако я все еще сканирую неправильное значение.   -  person Aleksandr Sergunin    schedule 14.08.2020


Ответы (1)


Мне эта проблема показалась действительно интересной, поэтому я сравнил различные типы штрих-кодов, чтобы увидеть, что может быть причиной неправильной идентификации штрих-кода сканером. Оказывается, итальянский Pharmacode (также известный как Code 32) является точным совпадением. Code32 - это на самом деле code39, использующий схему сжатия.

Вот 482168 в коде 39:

введите описание изображения здесь

И 142673096 в code32:

введите описание изображения здесь

Похоже, ваш сканер отдает приоритет code32 над code39. Так что вам просто нужно отключить code32 в вашем сканере.

person Mark Warren    schedule 14.08.2020