От Виктор А.К.
К Иван  
Дата 26.12.2000 19:41:19
Рубрики Прочее;

Re (2): некоторые мысли наспех

>1. Необходимо проеделиться, штрих-код — это что?  
 
Мой ответ: это способ графического представления числа, представленного в десятичной записи.  Графический, точнее даже штриховой код.
 
 
Ответ несовсем правильный. :-) Существуют штрихкоды в которых закодированы и буквы. Это код, а уж чего именно определяет его разработчик.
 
 
>3. Можно ли рассматривать штрих-код не только в качестве кода для сканнера, но и как графический симыол, предназначенный для восприятия человеком?
 
 
Ответ: да, он ставится на товарах видимым образом, человеком вполне читаем и распознаваем.
 
 
Это некорректно, любой графический знак распознаваем( в смысле видим) человеком, но это не значит, что медведь царапал сосну именно для индейцев, а не для другого медведя, и отнюдь не значит, что человек способен раскодировать код, для этого нужны специальные знания.
 
Распознать послания Алекса Юстасу ты тоже можешь, но что именно скрывается за столбиками цифр, это уже врядли.
 
 
 
>5. Вопрос: если рассматривать штрих-код в качестве некоторой символьной записи (кода), предназначенной для восприятия человеком, каким образом человек декодирует разделители?
 
Ответ: как три шестерки: 666.  
 
 
Это в случае если его так рассматривать, но он предназначен не для человека, а для сканера. А 666 они представляются только по не знанию.
 
Если же человек обратит внимание на пробелы, то для него они перестанут быть 666.
 
 
 
 
>4. Если рассматривать штрих-код с точки зрения сканера и существующих стандартных и нестандартных алгоритмов его декодирования, декодируются ли разделители в цифры и если декодируются, то в какие?
 
Ответ для меня до конца неясен, возможно, что вопрос некорректен.
 
 
На самом деле именно это и обсуждалось. А ответ прост, декодировать разделители можно, но ненужно. А тот кто хочет может декодировать их в любую _цифру_ , хотя это и не соответствует ГОСТу и алгоритм перестает быть обратимым. То есть каждый поступает здесь по своей воле, но не по ГОСТу.
 
Для меня например ясно зачем разделители нужны.
 
Ведь данный код по краям начинается с пробелов и его нужно отделить от пустого места, а по середине не дать слиться крайним темным полоскам. При этом вполне естественно выбраны минимальные последовательности из единичных полосок. Тем более, что именно такая последовательность применятеся  кажется в протоколах по обмену данными для сигнализации, что сигнал пошел.
 
Код семитричен возможно для того, что бы внезависимости от ориентации сканер мог начать считывание и определить в какую половину он попал.
 
 
 
 
>1) В большинстве случаев на штрих-коде присутствует и цифровая запись кода, что дает любому неискушенному человеку возможность определить соответствие между штрихами и цифрами.  Особенно если есть шестерка, представленная в виде двух тонких линий (пр то, что есть среди трех возможных представлений шестерки и отличное от трех тонких штрихов редставление, знали всегда)
 
 
Как раз и не дает это возможность ничего определить, лично я пока стандарт не увидел, не мог понять как нуль или восемь записываются, а ведь их сочетание тоже дает нечто похожее на разделитель(точно также как  6 и даже еще более).
 
 
>ВЫВОД: Если человеку, ен знакомому с ГОСТами и алгоритмами, объяснить, что между штрихами и цифрами под ними есть соответствие, и попросить его декодироваттьь штрих-код полностью, включая разделители, то он однозначно декодирет оставшиеся штрихи как шестерки.
 
 
Забавно, что этот человек не сможет декодировать число, если оно вообще не будет подписано внизу, но никто себе в этом отчет не отдает — что он просто не знает как записываются цифры в штрих-коде.
 
 
 
>ВОЗРАЖЕНИЕ о том, что декодирование всего штрих-кода может быть при таком способе декодирования неоднозначным, снимается, т.к. все штрихи, кроме разделителей, подписаны цифрами, и человеку их декодировать еще раз нет необходимости.  Т.е. для человека штрих-код рассматривается в совокупности с цифрами. которые в него включены в незакодрованном виде.
 
 
Рассматривается то он рассматривается, только цифры для человека, а штрихкод для машины — это вообщем то ясно указанно.
 
 
>ОДНОЗНАЧНОСТЬ КОДИРОВАНИЯ заключена в том, что по штрихам можно восстановить закодированное число.  Наоборот у Вас не получится и без разделителей, даже с учетом всех пробелов, т.к. каждая цифра имеет 3 разных представления — непонятно, из какого сета брать штрихи.
 
 
Неправильно, в ГОСТе хорошо описано какие сеты где ставить. Там есть тринадцатое число, так оно кодируется сочетанием сетов в первой половине. Поэтому алгоритм обратим.
 
 
>И последнее.  Ваша заключительная фраза говорит сама за себя:
 
 
Я подхожу к разговору без предубеждения, и поскольку мне не Ангел с неба это благовестил, то вполне может быть, что я все таки не прав и где-нибудь ошибся. Хотя разумное обьяснение этим символам у меня есть, см. выше, а презумпция невиновности не позволяет обвинить авторов кода в преднамеренной провокации, тем более все это логично, я лишь допускаю что это возможно.
 
Но опять же что возможно — то что преднамеренно были вставленны символы _похожии_, но не _являющиеся_ шестерками.
 
В этом случае всеравно бояться нечего.