Ответы на (13) и (14), а также некоторые мысли вслух по поводу (5) .....
********************************************************
Есть росийский ГОСТ
ГОСТ 31016-2003 "Автоматическая идентификация. Кодирование штриховое. Спецификация символики PDF 417 (ПДФ417)" и есть еще один ГОСТ Р 51294.9-2002 (ИСО/МЭК 15438-2001) ГОСТ Р «Автоматическая идентификация. Кодирование штриховое. Спецификации символики PDF417 (ПДФ417)»
Оба посвящены одному и тому же вопросу, хотя и выпущены различными организациями и в различное время, и оба идентичны (это видно из приведенного ниже текста в самом конце).
Не буду категоричен, но, сдается мне, что в этих документах отсутствует описание кириллицы!!! Т.е. исходная символика (ПДФ417) не содержит кириллческих символов!!!
Поэтому говорить, что сканер распознает или не распознает кириллицу можно только после того как выяснится, а есть ли она в нормативном документе описывающем символику!!!
ГОСТ 30743-2001 (ИСО / МЭК 15417-2000) "Автоматическая идентификация. Кодирование штриховое. Спецификация символики
Code 128 (Код 128)" и опять-таки, сдается мне, что в этом документе ЕСТЬ ОПИСАНИЕ КИРИЛЛИЦЫ, а именно:
- стр. 20, Приложение К (справочное). Набор знаков по ИСО 8859 (латинский/кирилловский алфавиты)!!
А раз есть штатное описание (ГОСТ), то есть и отличная от нуля вероятность, что и какие-то сканеры будут заточены под эту (пока
теоретическую) возможность!
На этом кончается нормативное и теоретическое обеспечение мыслительного процесса!
А теперь практика как "критерий истины" (это из высказываний классиков марксизма-ленинизма)!
Ищем в инете "Какие сканеры штрихкода распознают кириллицу" и ....
что-то имеем в итоге:
Cipher 1000 Контактный CCD сканер штрихкодов
Cipher 1021 Контактный CCD сканер штрихкодов
Cipher 1090 Контактный ручной CCD сканер штрихкодов
Cipher 1090+ Программируемый контактный CCD сканер штрихкодов
!!!!!!!!! Поддержка языков. Поддержка кириллицы при считывании Full-ASCII штрих-кодов (Code 39, Code 128)!!!!!!!!!!!
А теперь немного практики для "думающих и вникающих".
1. Возьмите любую (лучше короткую) строку латинских букв, например "qwerty".
2. "Изваяйте" из этой строки штрихкод (ШК) и распечатайте его, а затем прочтите сканером.
3. Если при чтении ШК клавиатура была в нижнем латинском регистре (точнее в нижнем регистре латинской раскладки), то в результате вы получите "qwerty", если клавиатура была в нижнем русском регистре (точнее в нижнем регистре русской раскладки), то вы получите "йцукенг".
Результат получился проще чем грабли, на которые здесь наступили несколько раз.
Намек для "думающих и вникающих" - что может означать влючение сканера в разрыв клавиатуры!?
А всего лишь то, что вам возвращается при считывании сканером код клавиши, а в зависимости от изначальной установки клавиатуры (исключение составляют сканеры приведенные в списке выше, но они составляют ИСКЛЮЧЕНИЕ, А НЕ ПРАВИЛО) вы можете получить или латынь или кириллицу.
Отсюда следует и вполне разумное и вполне читабельное решение, но оно никак не Base64 (14).
Да, следует иметь в виду, что оно не прямое и не совсем "честное", а так, типа, для "акробатов" клавиатуры.
1. Текст готовится на латинской раскладе (и только на ней, при этом регистры верхний и нижний можно менять), но содержательно текст соответствует нужным (вам) русским буквам, расположенным на нажатых клавишах.
2. Текст превращается в ШК.
3. При считывании такой ШК клавиатура принудительно (программно) предварительно выставляется в нижний регистр русской раскладки и вы получаете желаемый русский текст.
Ограничение. В исходном тексте естественно могут быть или только латынь (или только кириллица)!!!
Пример (для солдата и матроса).
Текст "Кириллица" на русском языке соответствует тексту "Rbhbkkbwf" на латинской раскладке.
Введите этот текст ("Rbhbkkbwf") и проделайте манипуляции описанные выше, а в итоге насладитесь победой практики над теорией!
Этот прием относится к обеим символикам и ПДФ417 и к Code128 (опять таки если это не специально "заточенные" сканеры типа Cipher из списка моделей приведенных выше).
Теперь по поводу (5), а точнее "Мы используем Symbol DS 6707. Он имеет поддержку распознавания кириллицы."
У меня на тестировании 6 сканеров 5-х типов и в том числе Symbol DS6707, который (как это ни прискорбно для меня ) не имеет поддержки распознавания кириллицы для символик ПДФ417 и Code128.
Вот они все (1D - линейные ШК; 2D двумерные ШК):
Honeywell 3800g (1D);
Metrologic MS 9535 Voyager BT (Bluetooth) (1D);
Symbol DS 6707 (1D+2D);
Symbol DS 9808 (1D+2D);
DataLogic D432 Gryphon (1D+2D);
DataLogic D432-Е Gryphon (1D+2D) для особо тонкого штриха - 3 mil.
Подводя итоги изложенному, могу сказать или точнее повторить слова Козьмы Пруткова "Зри в корень".
Приношу свои извинения за длинноты и отступления в сторону ГОСТов и теории, но матчасть надо учить, а затем еще полезно было бы и подумать.
Исключение из этого правила только одно - "Думать не поручалось, а поручалось исполнять!".
ЗЫ. Возможно удастся найти время и заполучить "на посмотреть и на попробовать" специально "заточенные" сканеры типа Cipher из списка моделей приведенных выше! Самому стало интересно!!!
************
4. Вводятся в действие с 1 мая 2005 г. для применения в Российской Федерации в качестве национального стандарта Российской
Федерации ГОСТ 31016-2003 (ИСО/МЭК 15438-2001) "Автоматическая идентификация. Кодирование штриховое. Спецификации символики PDF417 (ПДФ417)", идентичный международному стандарту ИСО/МЭК 15438-2001 "Информационная технология. Технологии автоматической идентификации и сбора данных. Спецификации символики штрихового кода ПДФ417", за исключением раздела "Библиография" и приложений V, W, X, принятый Евразийским советом по стандартизации, метрологии и
сертификации (протокол заседания от 5 декабря 2003 г. N 24).
5. Признан указанный в пункте 4 межгосударственный стандарт имеющим одинаковую силу на территории Российской Федерации с введенным ранее в действие ГОСТ Р 51294.9-2002 (ИСО/МЭК 15438-2001) в связи с идентичностью данных стандартов.
************