Andrey Vyacheslavovich Kuraev

В науке же принято считать доказанной лишь ту точку зрения, которая смогла ответить на все недоумения и возражения оппонентов. Утверждение, что разделительные линии идентичны «шестерке», все же не отвечает на ряд вопросов. Один из них: разделительные линии не подписаны арабскими, «человеческими» цифрами. Если сканер у кассира выходит из строя, или линии штрих-кода загрязнены, кассир просто от руки набирает на своем кассовом компьютере тот набор цифр, который подписан под штрих-кодом. Поскольку под разделительными линиями никаких значков нет, то и кассир просто пропускает эти линии. Если же у них есть цифровое значение, то тогда те данные, что компьютер получит в результате ручного ввода цифр, окажутся совершенно отличными от тех данных, которые он получил бы, если бы сам сканировал и распознавал штрих-код. Но разные входные данные порождали бы разнобой в итоговых результатах – чего составители программы, конечно, не допустили бы (ибо тогда был бы невозможен точный учет проданных товаров). Для компьютера, оказывается, все равно - прочел ли он сам код, или получил его от кассирши, которая опустила пресловутые три шестерки. Идентичность результата означает идентичность и поступившей в компьютер информации. И, значит, разделительные линии не несут никакой цифровой информации. И, значит, компьютер как-то различает разделительные линии от тех групп линий, которые имеют цифровое значение. Как он это делает? Нет ответа на этот вопрос…

Предположение о тождественности разделительных линий шестеркам нарушает и основную аксиому кодирования информации: любой код (перевод) должен быть обратим. Если мы поставим вместо разделительных линий те комбинации штрихов и пробелов, что обозначают шестерки – будет ли работать такой код? – Нет!211

Это вопрос тем более значимый, что штрих-код действительно содержит в себе тайный знак, сокрытый от непосвященных – это последняя его цифра. Она служит своего рода «паролем», который мешает подделать штрих-код и написать в нем цифры в произвольном порядке. Все цифры штрих-кода по определенным правилам должны быть вовлечены в некоторые арифметические операции с ними – чтобы в сумме получилась последняя из цифр. Но если разделительные линии компьютер читает как шестерки, то в этом случае у него никак не может получиться та же итоговая сумма, которая выходит, если в него последовательность цифр загружается вручную – кассиршей, не учитывающей «шестерки».

Второй вопрос, на который штрихофобы не дают ответа – это вопрос о том, зачем вообще нужны пробелы до начала первого штриха знака и после окончания последнего штриха212. Если они ничего не значат (а только при их наличии разделительные штрихи тождественны шестеркам), то отчего же все цифры кодируются с помощью именно 7 модулей и зачем тогда нужны крайние пробелы? Почему тогда разнится число пробелов между последним штрихом, которым кончается одна цифра и первым штрихом, с которого начинается следующая цифра штрих-кода? Почему число пробелов между цифрами разное, если число этих пробелов ничего не значит? А именно это тезис – о не-значимости пробелов лежит в основе экспертиз, находящих число зверя в штрих-коде. И на этот вопрос я пока не слышал ответа… А именно этот тезис о не-значимости пробелов лежит в основе экспертиз, находящих число 666 в штрих-коде.

Вот и Алексей Ипатов опубликовал только вывод из своей «экспертизы», но не опубликовал саму экспертизу, то есть те пути, коими он пришел к своим выводам: в ключевом пункте о наличии сатанинского числа в штрих-коде он без всяких доказательств просто повторил домысел других «наших экспертов» из «Русского вестника» о том, что «количество пробелов не существенно»213.

Здесь начинает протестовать мое богословское воспитание. Ведь если по такой методе обращаться с Евангелием – это верный путь к ереси. Если автор некоего текста (штрих-код это тоже текст, правда, предназначенный для компьютерного глаза, а не человеческого) счел нужным что-то в него вставить, а интерпретатор по своему вкусу считает, что этот авторский замысел был излишним и что без этих «частностей» можно обойтись, то такой читатель явно вычитывает из текста совсем не то, что в него вкладывал автор. В богословии такое обращение с первоисточником ведет к ереси. В науке – к ошибке.

А ведь опровергается это утверждение просто: достаточно взять какой-нибудь уже изготовленный штрих-код, о котором известно, какая именно последовательность арабских цифр в нем закодирована, и затем «ужать» этот штрих-код, удалив «лишние» пробелы между штрихами, о которых предполагается, что они не несут никакой информационной нагрузки. Например, согласно ГОСТу цифра шесть передается с помощью 7 знаков: 1010000. По мнению Ипатова, компьютеру для распознавания шестерки достаточно первых трех знаков (101; штрих-пробел-штрих). Четыре последующих пробела (0000) информации не несут и оказываются лишними. Хорошо, сотрите эти пробелы, оставьте лишь один (чтобы первый штрих следующей цифры не слился с последним штрихом предыдущей). Проведите эту операцию ужатия по всему штрих-коду, со всеми цифрами (в зависимости от серии удаляя лишние пробелы, оказавшиеся до начала первого штриха или же после окончания последнего штриха из группы, обозначающей каждую отдельную цифру). И дайте сканеру прочитать переделанный вами штрих-код. Что вы получите? – Ничего. Это значит, что для компьютера все-таки важно количество пробелов между группами штрихов.

Провести такой эксперимент может каждый владелец компьютера, принтера и сканера.

Операция первая: пойти в ближайший супермаркет, в котором кассовые рассчеты совершаются с помощью ручного сканера кассирши. Купите какой-либо продукт. Сохраните его этикетку со штрих-кодом и принесите ее домой.

Операция вторая: отсканируйте штрих-код с этой этикетки. Переведя изображение на экран, увеличьте его.

Операция третья: Пользуясь таблицей ГОСТА ЕАN214 определите границы между комбинациями штрихов и пробелов, обозначающих подписанные снизу под кодом арабские цифры. Уберите лишние, с точки зрения Ипатова, пробелы. То есть: те пробелы, которые находятся внутри комбинации двух штрихов, обозначающих одну цифру, не трогайте, а вот те пробелы, которые предшествуют этой комбинации штрихов или следуют за ней – сотрите на экране вашего компьютера. Например, в цифре 5 (серии А) – 0110001 – сотрите первый пробел и оставьте все остальные. А у той же цифры в серии С - 1001110 - сотрите последний пробел, оставив все срединные.

Операция четыре: распечатайте полученную вами картинку.

Операция пять: возьмите исходную этикетку и ту, которую вы “поправили” и отнесите в тот же магазин попросите кассиршу просканировать обе бумажки…

Аналогичный эксперимент можно провести, не удаляя лишние пробелы, а просто добавляя их (легче всего это сделать сразу после окончания первых двух длинных линий). Ведь если наличие или отсутствие пробелов никак не влияет на распознавание – то и появление дополнительных пяти-шести пробелов после первой ограничительной пары линий, а также перед центральным и завершающим знаками-ограничителями не должно влиять на результат распознавания.