Время стирает штрих коды

Вот живёшь ты себе, живёшь. Ходишь на работу, встречаешься с друзьями, читаешь интересные книги, спишь с самыми лучшими мужчинами, ездишь в гости к родителям. Плывёт твоя жизнь легко и размеренно. Пока в ней не появляется Он. Обычный с виду, расчудесный внутри. И ты понимаешь: всё, что было до — совершенно не важно, а что будет после — не нужно, потому что без Него.
Этот самый Он открывает для тебя новый мир. Не то, чтобы ты всего этого не знала. Просто не умела замечать: солнце, алкоголь, музыка, ночные кафе — всё вмиг становится прекрасным. Ты боготворишь каждый Его жест, помнишь каждый взгляд. Да что там, можешь в лёгкую перечислить все родинки на Его теле и даже рассказать наизусть все смс от Него тебе.
Не важно, сколько это длится: неделю, месяц или год. Но наступает момент, когда эйфория от счастья проходит. Тебя начинают раздражать какие-то Его привычки, друзья (ох, и как же я раньше терпела этих идиотов?), любимые передачи и порой даже поцелуи по утрам. Само собой, начинаются ссоры, которые уже не заканчиваются страстным примирительным сексом. Недомолвки, уходы из дома, попытки залить горе алкоголем — ничего не спасает. Становится только хуже.
Вы решаете остаться друзьями, ведь «лучше быть одному, чем вместе с кем попало». Стоп. С кем попало? А ведь этот кто-попало знает о тебе и твоей жизни зачастую даже больше, чем ты сама, видит тебя насквозь и, чёрт подери, успел изучить от и до все твои болевые точки. Вот тогда-то и начинается самое интересное: вы начинаете потихоньку, словно бы нечаянно, изводить друг друга: вот у тебя новый мужик, карьерный рост и сладкая жизнь, а он, простигосподи, ебёт всё, что движется, прожигает молодость и в ус не дует. Забавно то, что обоим больно, оба наверняка засыпаете с мыслью друг о друге, печалясь от того, что кто-то другой будит вас по утрам, готовит вам завтраки, встречает с работы и т.д. Но гордость берёт своё. Пути расходятся.
Ты начинаешь представлять, как однажды, после пары лет невстреч, вы, всё-таки, увидитесь. Как у тебя будет всё, чего ты добивалась и к чему стремилась. Как он увидит тебя, вдалеке, офигеет от твоей красоты, осознает, каким был мудаком и станет слёзно умолять о прощении и возвращении. Как ты ему скажешь: «Прости, но твой поезд ушёл. Я уже давно забыла». Смакуешь каждое слово, оттачиваешь каждый жест, чтоб окончательно втоптать его в грязь и как следует насладиться своей победой. Улыбайся, сладкий, скоро настанет мой звёздный час.
Потом, спустя годы, поезда, новые отношения, старые рукава, — всё начинает забываться. И нет у тебя уже ни любви, ни жажды отмщения. Испытываешь к Нему какую-то необъяснимую теплоту в душе, если вообще хоть иногда вспоминаешь.
И, естественно, вскоре случается: вы пересекаетесь на каком-то светском мероприятии. Оба изменились, стали опытнее, логичнее, злее и, само собой, красивее. «Ах, неужели это ты? Я бы и не признала, если б мне не сказали..» Вечер лёгкого флирта плавно перетекает в ночь безудержной страсти, с кофе и круассанами наутро, как в старые добрые. Он садит тебя в такси, а потом обрывает телефоны, шлёт цветы на домашний адрес, ждёт встречи. А у тебя своя жизнь, в которой уже совсем нет места никакому Ему. И, повторюсь, теперь совершенно не хочется причинять ему боль своим равнодушием, никакой радости это не принесёт. Потому что тебе уже на самом деле пофиг.
И «пофиг» не скрыть даже за широко раскрытыми глазами, глядящими в упор.
Я Тебя любила. Будь счастлив. И иди на хрен.

Источник

Есть такие вопросы, которые периодически возвращают себе актуальность, даже будучи обсуждены не раз.

У каждой группы людей есть свои вечные темы – автомобилисты регулярно спорят о преимуществах механической коробки передач над автоматической, молодые и не очень мамы – о грудном и искусственном вскармливании, а православные христиане – о времени, месте и способе нанесения обещанной в книге Откровения «печати антихриста».

Спорят столько, сколько существует предмет спора. И недавно православный спор зашел на новый круг. Поводом стало выступление известного своей православной экстравагантностью бизнесмена Василия Бойко-Великого, который объяснил, что «Печать Антихриста» содержится именно в штрих-кодах, которые его компания вынуждена наклеивать на свою продукцию, дабы продавать ее в магазинах. Но для того, чтобы продемонстрировать позицию непринятия «печати», штрих-коды на продукции фабрики «Русское Молоко» перечёркиваются красным Андреевским Крестом.

В тексте присутствует довольно много технических подробностей и потому имеет смысл привести комментарий технического специалиста.

Павел Белоусов работает в компании «VMC», которая занимается именно разработкой сканеров штрих-кодов, и пишет программную начинку тех устройств, которые пиликают на кассах супермаркетов. И, соответственно, Павел по долгу своей работы знает о штрих-кодах всё. Его комментарий с рядом незначительных технических правок мы приводим ниже:

Читайте также:  Как стирать вещи вручную без порошка

Время стирает штрих коды

– Будучи специалистом в области штрих-кодов, я решил разобраться для себя во всей этой истории с числом 666, якобы закодированном в любом штрих-коде.

Я сейчас не обсуждаю корректность толкования текста книги Откровения, а только технический факт: справедливо ли с точки зрения штрихового кодирования утверждать, что в штрих-кодах всегда присутствует это число. Мои выводы изложены ниже. Текст длинный и нудный, но, как я полагаю, исчерпывающий. А в самом конце бонус – страшное разоблачение!

I) Во-первых, речь идёт не обо ВСЕХ штрих-кодах, которых существуют десятки типов, а только о двух очень похожих типах (символиках), которые называются EAN–13 и UPC–A. Это, однако, самые распространённые типы. Именно их ставят на все товары. Они описаны в Википедии здесь и здесь (тут подробнее о структуре). Все рассуждения, которые я привожу ниже, можно проверить по этим статьям.

II) Основной тезис штрихкодоненавистников: «По стандарту во всех штрих-кодах присутствуют три полосы: две с краев и одна посередине. Остальные полосы соответствуют индивидуальному цифровому кодированию и отвечают цифрам от 0 до 9. Так вот, три универсальные полосы, более длинные, чем индивидуальные, соответствуют одинаковой цифре, а именно: шестерке. Так как универсальных три – получаются выделены именно три шестерки». Поясняющую картинку можно посмотреть в тексте на сайте «Русского Молока».

III) Верно ли это? Ответ: нет, не верно. Но сначала несколько слов о структуре штрих-кода EAN–13/UPC–A. В стандарте нет никаких «полос».

Штрих-код состоит из элементов, штрихов и пробелов, которые принимают равное участие в кодировании информации и могут иметь 4 варианта ширины: одинарную, двойную, тройную и четверную (далее я буду писать 1-, 2-, 3- и 4- соответственно). Подчеркну, что цвет элемента не имеет значения, а только его ширина.

Любая цифра от 0 до 9 соответствует своему набору из четырёх элементов (пробел-штрих-пробел-штрих или штрих-пробел-штрих-пробел), сумма ширин которых должна быть строго равна семи минимальным ширинам. Последовательность ширин элементов в таком наборе и определяет, какая именно цифра в них закодирована.

Например, в правой половине штрих-кода цифра 5 кодируется как «1-штрих — 2-пробел — 3-штрих — 1-пробел», а злополучная 6 как «1-штрих – 1-пробел – 1-штрих – 4-пробел».

IV) Структура любого штрих-кода типа EAN–13 такова (слева направо): 1) левый защитный шаблон из трёх элементов (1-штрих – 1-пробел – 1-штрих); 2) 6 блоков по 4 элемента (пробел – штрих – пробел – штрих), задающие первые 6 цифр; 3) центральный защитный шаблон из пяти элементов (1-пробел – 1-штрих – 1-пробел – 1-штрих – 1-пробел); 4) 6 блоков по 4 элемента (штрих – пробел – штрих – пробел), задающие вторые 6 цифр; 5) правый защитный шаблон из трёх элементов (1-штрих – 1-пробел – 1-штрих);

V) Именно в защитных шаблонах, левом, центральном и правом, некоторые видят три шестёрки. Видят, потому что в каждом из них есть набор (1-штрих – 1-пробел – 1-штрих), который среди блоков, кодирующих цифры, встречается только в шестёрке (см. п. III). Но шаблоны не могут кодировать цифры, так как ни один из них не удовлетворяет необходимому условию: ЧЕТЫРЕ (а не три или пять) элемента, сумма ширин которых строго равна 7. Правый и левый шаблоны имеют по 3 элемента с общей суммой 3, а центральный – 5 с суммой тоже 5.

Время стирает штрих коды

VI) Таким образом, эти шаблоны НЕ шестёрки и даже не цифры вообще! Точнее, они такие же шестёрки, какой шестёркой является, скажем, буква «о»: чтобы «о» стала цифрой «6», к ней нужно пририсовать сверху загогулинку. Без неё это просто «о» или кружок.

Также и к набору (1-штрих – 1-пробел – 1-штрих) нужно добавить 4-пробел, чтобы он стал шестёркой в смысле штрихового кодирования. На возражение, что нижний кружок встречается ещё и, скажем, в цифре 8, тогда как блок «1-штрих – 1-пробел – 1-штрих»– ТОЛЬКО в шестёрке, и, следовательно, всегда является намёком именно на неё, можно вспомнить букву С – такой силуэт точно есть только у 6! Так что как где увидите три буквы С, знайте — это скрытое 666!

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

Замечу, что по стандарту свободная зона должна быть не меньше семи 1-ширин. Но к центральному защитному шаблону уж точно ни с какой стороны ничего не припишешь – места нет, стандарт не позволяет.

VIII) Итак, я полагаю, тема 666 закрыта: утверждения о наличии в каждом штрих-коде EAN-13/UPC-A этого числа основываются на значительных и столь же сомнительных дополнительных построениях.

Итак, если обобщить: повторяющиеся элементы в штрих-кодах типа EAN–13/UPC–A не являются шестерками, так как не кодируют цифр вообще.

И если применить тот же метод, то есть найти трижды повторяющийся знак, который возможно «дополнить» (скажем, дополнительным крючком или чёрточкой) до шестерки, и принять его на этом основании за шестерку, то мы обнаружим, например, что все эти перечёркивания штрих-кодов на молоке нужны лишь для отвода глаз от страшной тайны, связанной с «Русским молоком»: оказывается число зверя 666 сокрыто в святом святых – самом названии агрохолдинга «Русское молоко», да и ещё и дважды!!!

Вы его уже видите? Нет? А вот так: «РУ66К6Е М6Л6К6»? Что, нечестно? Сомнительные дополнительные построения? Но, минуточку, кто первый начал-то?

Источник

Полной унификации штрих-кодов добиться не удалось. Уж слишком широкой оказалась область их применения. Соответственно, сильно отличаются алгоритмы превращения алфавитно-цифровой информации в последовательность черных и белых полос, которые называются штрихами и которые наносят на различные поверхности.  Сканируя эти штрихи специальным прибором, можно впоследствии эту закодированную информацию считывать в виде удобном для дальнейшей обработки компьютерными системами. Алгоритм превращения алфавитно-цифровой информации в последовательность штрихов называется «символогией» («symbology»). Если погуглить это слово совместно с названием той или другой штрих-кодовой системы можно разобраться в принципах кодирования данной системы. Или не разобраться. Потому что симвология некоторых штрих-кодовых систем совсем не элементарна, Ватсон.

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

Для начала рассмотрим, как устроена штрих-кодовая метка. Собственно код размещается в пространстве, которое слева и справа окаймляют  так называемые ограждающие штрих-кодовые  полосы (guard bars). Эти полосы содержат штрихи единичной ширины, два темных и один светлый между ними. Если темные штрихи обозначать цифрой 1, а светлые – цифрой 0, то ограждающие полосы будут иметь код 101. Ограждающие полосы служат для синхронизации работы сканера, поэтому их иногда называют старт-стоповыми полосами (start and stop sentinel).

Кстати, штрихи единичной толщины, темные или светлые, называются модулями. Каждая цифра штрих-кода кодируется 7 модулями. Всего код EAN-13 состоит из 12 цифр. Общее число модулей, используемых для записи 12 цифр равно 12х7=84.

Пространство, занятое самим штрих-кодом, делится на две группы, левую и правую, по 6 цифр в каждой. Эти группы разделяются специальной средней кодовой полосой, которая состоит из 5 штрихов, трех светлых и двух темных (код 01010). Средняя кодовая полоса, также как и ограждающие полосы, является управляющим элементом. Управляющие элементы содержат 11 модулей. Таким образом, суммарная ширина штрих-кода всегда равна 95 модулям.

Чем меньше ширина модуля, тем компактнее штрих-код. С другой стороны, слишком тонкий штрих трудно четко напечатать и трудно без ошибок прочесть. Стандартная ширина модуля, обеспечивающая наилучшее считывание при минимальном размере, имеет значение 0.33 мм. Таким образом, ширина полосы штрих-кода обычно равна 0.33х95=31.35 мм

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

Как уже было сказано, каждая цифра кодируется 7 модулями, темного или светлого цвета или, что то же самое, 7 двоичными разрядами. Пробелов между штрихами нет. Поэтому несколько рядом стоящих темных или светлых штрихов сливаются в более толстые штрихи того или иного цвета. Система кодировки сделана так, чтобы каждая цифра изображалась только 4 утолщенными штрихами.  Благодаря этому вся метка штрих-кода будет состоять из 29 светлых и 30 тёмных штрихов, включая штрихи ограждающих полос и средней «разделительной» полосы.

Разделительная полоса – хорошее название. Сразу возникает ассоциация с шоссе, где по одну сторону от разделительной полосы машины движутся в одну сторону, а по другую сторону – в противоположную. Так вот, главный сюрприз кодовой системы EAN-13 – это то, что одни и те же цифры в левой части штрих-кода и в правой его части кодируются по-разному. Эти кодировки называются соответственно L-кодом и R-кодом.

Для каждой кодируемой цифры L-код является фотографически негативным исполнением R-кода. Там, где у L-кода стоит 0, в R-коде стоит 1. Если суммировать L-код и R-код получится число, состоящее из семи 1. Все L-коды начинаются с 0, в то время как все R-коды начинаются с 1. Кроме того, сумма единиц в L-коде всегда нечетная, а в R-коде – всегда четная.

Почему нельзя было обойтись одной кодировкой? Потому что на практике часто приходится сканировать штрих-код, перевернутый «вверх тормашками». Как при этом определить, в каком положении находится читаемый штрих-код, в прямом или в перевернутом? Схема сканера определяет это довольно просто. Если первая из прочтенных групп (левая) начинается с 0, а вторая с 1, то штрих-код при чтении находился в прямом положении. Если же первая группа начинается с 1, а вторая с 0, произошло чтение штрих-кода, повернутого на 180 градусов. В первом случае расшифровка происходит с помощью таблицы прямой кодировки, а во втором – с помощью таблицы обратной кодировки, коды в которой являются зеркальным отражением кодов таблицы прямой кодировки.

Читайте также:  Как стирать одежду для зимних видов спорта

Что же получается? В символогии штрих-кода EAN-13 одна цифра должна кодироваться четырьмя способами: L-код и R-код для прямого чтения и для чтения обратного еще одна пара, тоже состоящая из L-кода и R-кода? Как говорила (правда по другому поводу) юная Гюльчатай из «Белого солнца пустыни», тяжело. В самом деле, не легко. Но необходимо.

Но сложности кода EAN-13 на этом не заканчиваются.

Самое время задуматься: почему в его названии фигурирует цифра 13? Потому что он состоит из 13 цифр, 12 из которых закодированы в виде штрихов, а вот самая первая цифра кода не считывается, а вычисляется в процессе сканирования. Именно поэтому в распечатке эта цифра занимает особое место. Она размещена вне пространства штрих-кода.

Эта сложность связана с процессом развития кода. Дело в том, что системе кодирования EAN-13 предшествовала система, которая первоначально была разработана в США под названием UPC-A. UPC – это сокращение слов «Universal Product Code» («Универсальный продуктовый код»). Система UPC-A предназначалась для управления товарооборотом на территории США и Канады. Все товары в этой системе можно было закодировать 12 цифрами. Несколько цифр из этих 12 кодировали компании-производители, несколько – код продукта. Последняя цифра из дюжины была контрольной и вычислялась по сложному алгоритму. Контрольная цифра подтверждала (или не подтверждала) правильность прочтения кода.

Когда по тому же принципу потребовалось создать всемирную систему контроля товарооборота, американскую систему решили расширить, но так, чтобы она осталась работоспособной.

Чтобы интернационализировать систему UPC-A, было решено выделить еще несколько цифр для кодировки страны производителя. Две требуемые цифры смогли «оторвать» от кода производителя и от кода товара. Но все равно для кодировки всех стран на планете двух цифр не хватало. Пришлось  дополнить уже существовавший в Америке код еще одной цифрой. Для американских товаров эта цифра была равна 0.  Благодаря этому американская система становилась подмножеством всемирной.

Однако прочитать добавленную цифру оказывалось невозможно, поскольку все старые приборы были рассчитаны на чтение только 12 цифр, а не 13.

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

Особенность первой цифры кода EAN-13 подчеркивается даже ее положением. Первая цифра размещается за пределами штрих-кода, перед левой ограждающей полосой.

Для вычисления первой цифры в систему кодировки левой группы цифр были внесены изменения. Эта группа состоит из 6 цифр. 3 из них по-прежнему кодировали в прямой кодировке L-кодом. А вот 3 другие стали кодировать R-кодом в обратной кодировке. (Этот код в документации иногда называют G-кодом). Первая цифра кода вычислялась по тому, какие из цифр были закодированы «неправильно». Для американских товаров все цифры в левой группе штрих-кода EAN-13 зашифрованы «правильно», поэтому первая цифра для американских товаров всегда будет 0.

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

Сейчас в каждом мобильном телефоне имеется аппликация, позволяющая просканировать любой штрих-код и тут же отыскать в Интернете информацию о товаре, этим штрих-кодом закодированную. А при желании, даже осуществить покупку. Информационная революция творит чудеса!

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

Полезные ссылки:

  1. Barcode scanning
  2. Barcode в Википедии
  3. Методы расшифровки штрих-кода
  4. Дизайнерские штрих-коды талант и восхищение
  5. Симвология
  6. Что надо знать о сканерах штрих-кодов
  7. Двумерный штрих-код: сам себе база данных
  8. Штрих-код и его разновидности
  9. Бесплатный генератор штрих-кодов онлайн
  10. Top Barcode Scanner Apps (for iOS and Android): The 36 Best Apps for Scanning and Reading Inventory Barcodes
  11. Типы штрихкодов, выбор правильного штрихкода
  12. Штриховые коды EAN
  13. How Barcodes Work
  14. Исследование штрих-кода на наличие в нем числа 666
  15. Barcodes

Источник