Штрих-коды
Со штрихкодами современный человек сталкивается каждый день,
даже не задумываясь об этом. Когда мы покупаем в супермаркете продукты,
их коды считываются именно с помощью штрихкода. Также посылки, товары на
складах, и прочее и прочее. Однако, мало кто знает, как же реально это работает.
Приступим к побитовому разбору. Далее, все ниженаписанное будет относиться к виду «Code-128» —
просто потому, что его формат довольно простой и понятный. Желающие поэкспериментировать с другими
видами, могут открыть онлайн-генератор и посмотреть самостоятельно.
На первый взгляд штрихкод кажется просто беспорядочной последовательностью линий, на самом деле,
его структура четко фиксирована:
1 — Пустое место, нужное для четкого определения начала кода.
2 — Стартовый символ. Для Code-128 возможны 3 варианта
(называемых А, В и С): 11010000100, 11010010000 или 11010011100, им соответствуют разные кодовые таблицы.
3 — Собственно код, содержащий нужные нам данные.
4 — Контрольная сумма.
5 — Стоп символ. Для Code-128 это 1100011101011.
6(1) — Пустое место.
Теперь о том, как кодируются биты. Тут все очень просто — если взять ширину
самой тонкой линии за «1», то линия двойной ширины даст код «11», тройная «111»,
и так далее. Пустое место будет «0» или «00» или «000» по тому же самому принципу.
Желающие могут сравнить стартовый код на картинке, чтобы убедиться что правило выполняется.
Введение
Использование штрихкодов имеет давнюю историю. Первые попытки автоматизации начинались еще в 50х, патент на устройство считывания кодов был получен в 1952г. Инженер, занимавшийся сортировкой вагонов на железной дороге, захотел упростить процесс. Идея была очевидной — кодировать номер с помощью полос и считывать их с помощью фотоэлементов. В 1962г коды стали официально использоваться для идентификации вагонов на американской железной дороге (система KarTrak), в 1968 прожектор заменили лазерным лучом, что позволило повысить точность и уменьшить размер считывателя. В 1973г появился формат «универсального кода продукта» (Universal Product Code), и в 1974 с использованием сканера кодов был продан первый продукт (жевательная резинка Wrigley’s — это же США;) в супермаркете. В 1984 треть магазинов использовали штриходы, в России же они начали использоваться примерно с 90х годов. Разных кодов под разные задачи сейчас используется довольно много, к примеру, последовательность «12345678» может быть представлена такими способами (и это еще не все):
