Из-за чего сканирование одного и того же DataMatrix кода в блокнот/word/excel дает разные результаты?
Нужно понять: 17 раз просканировал один и тот же хорошо читаемый DM-код. Некоторые символы пропускаются, другие заменяются. С другим сканером на другой машине то же самое. Это какая-то особенность офисных программ при быстром вводе?
q00000788578:0000!:19b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578;00001:019b69a2-96b9-79e4-a685-e276e150799*:0157
q00000788578;0000!019b69a2-96b9-79e4-a685-e276e150799*:0157
q00000788578:0001:019b69a2-96b9-79e4-a685-e276e1507998:157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:19b69a2-96b9-79e4-a685-e276e1507998:157
q00000788578;0001:019b69a2-96b9-79e4-a685-e276e1507998:157
q0000078857*:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e150799*;157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q0000078857*;00001:019b69a2-96b9-79e4-a685-e276e1507998;0157
q00000788578:0001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:19b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e150799*;0157
q0000078857*:0001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Разные результаты сканирования одного DataMatrix в Блокнот, Word и Excel обычно связаны не с самим кодом, а с тем, как сканер эмулирует клавиатуру и как программа интерпретирует управляющие символы. В DataMatrix могут быть FNC1, GS, CR, LF, TAB и другие служебные символы. Простые редакторы, Word и Excel отображают или обрабатывают их по-разному.
Сканер чаще всего работает как HID-клавиатура: он “печатает” символы в активное окно. Если в данных есть разделитель групп
GSили перевод строки, Excel может перейти в соседнюю ячейку, Word может скрыть символ, а Блокнот может показать перенос или нечитаемый знак.Проверьте настройки сканера:
Для диагностики лучше использовать не Word/Excel, а утилиту, которая показывает коды символов. Например, небольшой скрипт, принимающий ввод и печатающий код каждого символа. Так вы увидите, что реально приходит: цифры, буквы, ASCII 29, табуляция или перевод строки.
const s = 'вставьте сюда результат сканирования'; console.log([...s].map(ch => ch + ' = ' + ch.charCodeAt(0)).join('n'));const s = 'вставьте сюда результат сканирования'; console.log([...s].map(ch => ch + ' = ' + ch.charCodeAt(0)).join('n'));
Если это маркировка с GS1 DataMatrix, разделитель групп является нормальной частью данных. Тогда нужно не пытаться добиться “одинакового вида” в Word и Excel, а корректно парсить AI-коды: 01, 21, 91, 92 и так далее.
Итог: сканер, скорее всего, читает один и тот же код, но разные программы по-разному обрабатывают управляющие символы. Настройте суффиксы/префиксы сканера и проверяйте данные через инструмент, который показывает реальные коды символов, а не визуальное представление.