Из-за чего сканирование одного и того же DataMatrix кода в блокнот/word/excel дает разные результаты?

Ссылка скопирована
1 ответ

Нужно понять: 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

Нужно решить такую задачу?

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

Заказать помощь
Лучший ответ
1
Мария Код Ответ

Разные результаты сканирования одного DataMatrix в Блокнот, Word и Excel обычно связаны не с самим кодом, а с тем, как сканер эмулирует клавиатуру и как программа интерпретирует управляющие символы. В DataMatrix могут быть FNC1, GS, CR, LF, TAB и другие служебные символы. Простые редакторы, Word и Excel отображают или обрабатывают их по-разному.

Сканер чаще всего работает как HID-клавиатура: он “печатает” символы в активное окно. Если в данных есть разделитель групп GS или перевод строки, Excel может перейти в соседнюю ячейку, Word может скрыть символ, а Блокнот может показать перенос или нечитаемый знак.

Проверьте настройки сканера:

  • добавляет ли он суффикс Enter/Tab после сканирования;
  • как он передаёт FNC1/GS;
  • включена ли обработка AIM ID;
  • не включены ли префиксы/суффиксы;
  • какая раскладка клавиатуры используется;
  • не заменяет ли сканер спецсимволы на пробелы.

Для диагностики лучше использовать не 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 и так далее.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно