QR-коды — это просто ссылки в пальто (и что еще находится там)

Обновлено

Большинство QR-кодов содержат URL, но формат поддерживает данные о Wi-Fi, vCards, SMS, географических координатах и другие. В этом материале подробно объясняется, что на самом деле содержится в QR-коде, как работает коррекция ошибок, что означает требование зоны тишины на практике, и в каких случаях следует использовать динамические и статические коды.

QR-коды — это просто URL в пальто (и что ещё в нём находится) 1
Реклама · УДАЛИТЬ?

Сканируйте любой QR-код и ваш телефон открывает URL. Повторяйте это несколько сотен раз и вы начинаете считать, что это всё, что может быть в QR-коде — пиксельный короткий способ открыть веб-сайт. Это предположение неверно, и оно имеет значение, если вы создаете что-то, что генерирует или читает QR-коды.

QR-коды определены по стандарту ISO 18004. Стандарт поддерживает четыре режима кодирования — числовые, алфавитно-цифровые, бинарные и кандзи — и может содержать до примерно 3 КБ данных в зависимости от версии и уровня коррекции ошибок. Конвенция URL — это просто конвенция. Формат не имеет мнения о том, что вы вводите в него.

Что на самом деле находится в пальто

Несколько форматов нагрузки стали отраслевыми стандартами, потому что камера мобильных операционных систем умеет их интерпретировать и автоматически принимать соответствующие действия:

  • URLhttps://example.com — открывается в браузере. Самый очевидный случай.
  • Пароли от Wi-FiWIFI:T:WPA;S:MyNetwork;P:hunter2;; — камера iOS и Android автоматически читает эти данные и предлагает присоединиться к сети. Не требуется стороннее приложение. Скорее всего, самый полезный не-URL формат для тех, кто когда-либо пытался прочитать пароль WPA2 с телефона.
  • vCard контакт — полные блоки v2.1 или v3.0 vCard с именем, телефоном, электронной почтой, организацией, адресом. При сканировании появляется запрос «Добавить в контакты».
  • Номер телефонаtel:+15555551234 — запускает звонок.
  • SMSsmsto:+15555551234:Pre-filled message text
  • Электронная почтаmailto:user@example.com?subject=Hello&body=...
  • Географические координатыgeo:37.7749,-122.4194 — открывается в картах.
  • Событие в календаре — блок VEVENT (формат iCalendar) для добавления событий прямо в календарь устройства.

Формат Wi-Fi стоит отметить отдельно, потому что большинство людей не знают о его существовании. Если вы создаете что-то с гостевым сетевым подключением — отель, совместное рабочее пространство, мероприятие — печать QR-кода для Wi-Fi лучше, чем размещение пароля на карточке. Каждый современный телефон с камерой может обработать его без какого-либо приложения.

Телефон сканирует QR-код

Коррекция ошибок: почему вы можете разместить логотип в центре и он всё равно сканируется

QR-коды используют коррекцию ошибок Reed-Solomon, что означает, что они могут восстановить утерянные или повреждённые данные из избыточных ячеек, встроенных в шаблон. Существует четыре уровня коррекции ошибок:

УровеньИмяМаксимальное восстановление кодовых словКогда их использовать
LНизкий~7%Чистые цифровые контексты — экраны, PDF-файлы, презентации. Наименьшая плотность шаблона.
MСередина~15%Общее назначение. По умолчанию в большинстве генераторов. Хорошее соотношение для большинства печатных применений.
QКвартиль~25%Индустриальные этикетки, наружные информационные доски, любые элементы, которые могут получить загрязнение или незначительный физический ущерб.
HВысокий~30%Брендированные QR-коды с логотипом, размещённым в центре. Логотип уничтожает данные; уровень H восстанавливает их.

Стоит отметить, что плотность уменьшается: более высокий уровень коррекции означает больше избыточных ячеек в одном и том же шаблоне. QR-код версии 10 на уровне H значительно сложнее, чем тот же URL на уровне L. Более высокая сложность означает меньший размер отдельных ячеек при заданном размере печати, что означает повышенный риск сбоев при плохом угле сканирования или низком контрасте. Иронично, но реально: чрезмерное увеличение коррекции ошибок может сделать код сложнее в практическом сканировании.

Техника с логотипом работает потому, что коды уровня H были разработаны для выдерживания потери данных до ~30%. Разместите центральный логотип, который покрывает менее этого значения, и сканер восстанавливает пробелы из избыточных ячеек. Превысите 30% и вы получите изображение, которое не сканируется.

Тихая зона: правило, которое никто не документирует, пока код не работает

Каждый QR-код требует тихой зоны — поля белого пространства вокруг всех четырёх сторон. Стандарт ISO требует минимальной величины 4 модуля (один «модуль» — это одна из этих маленьких клеток в сетке). Пропустите это и сканеры не сработают, особенно в сложных условиях освещения или под углом.

Это причина #1 того, что «правильный» QR-код не сканируется в производственных условиях: он был слишком сильно сжат, расположен непосредственно к тёмной границе или напечатан на цветном фоне, который проникает в зону. QR-код на тёмной коробке без белого края будет неудовлетворительно работать. Сканер нуждается в белом пространстве для определения шаблонов в углах.

Практическое значение: при любом размере печати обеспечьте белый запас не менее 4–6 мм с каждой стороны. Если это невозможно, лучше использовать более крупный размер кода, чем пытаться сжать его в узкое пространство без междуполосного пространства.

Статичный и динамичный: правильный выбор не очевиден

А статичный QR-код кодирует данные напрямую в шаблоне. После печати он становится постоянным — единственный способ изменить то, на что он указывает, — перепечатать. Не требуется сервер, не требуется сторонний участник, работает вечно.

А динамичный QR-код кодирует короткую перенаправляющую ссылку, управляемую сервисом (qr.io, Bitly и т.д.). Цель перенаправления можно изменить после печати. Также доступны аналитические данные по сканированию — количество, время, устройство, приблизительное местоположение.

Для любого использования на физических материалах — меню, упаковка продукции, информационные доски — динамический формат почти всегда является правильным выбором. Перепечатывать 10 000 коробок продукции из-за изменения ссылки — дорого. Для цифрового использования, где перепечатка не стоит денег, статичный формат проще и не имеет рисков зависимости.

Риск, о котором никто не говорит: динамические QR-коды на физической упаковке делают ставку на то, что сервис перенаправления будет существовать через два года. Печатайте код, указывающий на бесплатный тариф в сервисе для стартапа, на 50 000 единиц, и вы делаете долгосрочное обещание о непрерывности этого сервиса. Если он закроется, будет приобретён или просто отключит бесплатный тариф, все эти коды одновременно перестанут работать.

Если вы хотите генерировать QR-коды — статичные или динамические, любые уровни коррекции ошибок, ссылки, Wi-Fi или vCard — то QR-генератор на IO Tools обрабатывает всё это в браузере без необходимости в аккаунте.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?