Сравнение с другими символиками
QR код - это разновидность матричного кода (2D-barcode), созданная Японской корпорацией Denso-Wave в 1994 году. "QR" - это сокращение от "Quick Response", "Быстрый отклик", этим названием создатели хотели показать, что QR-код позволяет быстро доносить свое содержание до пользователя. QR коды очень распространены в Японии, там они являются самым популярным видом двухмерных штрих-кодов.
Общая информация
Несмотря на то, что QR коды изначально использовались для учета деталей в машиностроении, сейчас они используются более широко, как для коммерческих систем учета, так и для быстрой доставки информации пользователям мобильных телефонов. QR коды могут хранить контактную информацию, текст, платежные реквизиты, телефонные номера, адреса e-mail и гипертекстовые ссылки. При этом QR-код может быть напечатан в журнале, на постере в метро, на визитной карточке, на платежном документе, да и вообще практически на чем угодно. Пользователи с телефоном, оснащенным камерой и с соответствующим программным обеспечением могут сосканировать QR-код, при этом откроется закодированная в QR гиперссылка, или закодированный контакт добавится в адресную книгу. И наоборот, QR-код может быть отправлен пользователю на мобильный телефон и предъявлен для считывания прямо с его экрана.
Сканерами штрих-кодов оснащаются устройства самообслуживания (банкоматы и терминалы), что позволяет использовать QR-коды для совершения платежей.
Основные области применения QR кода:
- Реклама и развлечения (хранение web-ссылок, контактной информации)
- Банковское дело (хранение платежных реквизитов)
- Логотипы, содержащие информацию о фирме
- Визитки (код содержит подробную информацию о человеке)
- Туризм (для предоставления web-ссылки или информации об объекте, бронирования гостиниц)
- Электронные билеты и ключи (код предъявляется на мониторе мобильного устройства)
- Проездные билеты (печатается на билете)
- Маркировка продуктов
Коррекция ошибок в QR кодах
QR коды используют алгоритм Рида-Соломона(Reed-Solomon) для коррекции ошибок. Это позволяет без проблем считывать коды, которые каким-то образом повреждены - затерты, перечеркнуты, и т.п. QR коды имеют 4 уровня коррекции ошибок, которые отличаются количеством информации для восстановления и соответственно количеством полезной информации, которую можно восстановить при повреждении кода. Уровни коррекции и соответствующие проценты информации, которые возможно восстановить, следующие:
L | 7% |
M | 15% |
Q | 25% |
H | 30% |
Эта возможность используется для построения QR-кодов с элементами дизайна, например:
Кодирование
При кодировании данных в QR-код могут быть выбраны разные кодировки, что обеспечивает наилучшее сжатие данных для уменьшения размера, требуемого для изображения символа. Возможные варианты выбора:
- Mixed: Кодирование данных, используя комбинацию всех нижеприведенных режимов, в зависимости от типа найденных данных.
- Numeric: позволяет кодировать только цифры от 0 до 9.
- Alphanumeric: позволяет кодировать цифры, только заглавные буквы и несколько специальных символов. Лучше всего подходит для алфавитно-цифровых кодов с текстом в верхнем регистре.
- Byte: специальная кодировка для произвольных данных в диапазоне от 0 до 255. Алгоритм кодирования позволяет кодировать любые значения от 0x00 до 0xFF (десятичные 0 ~ 255).
- Kanji: позволяет кодировать иероглифы в системе Shift JIS, используемой для японских символов.
Данные в QR Code:
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
![]() |
![]() |
|
Кодировка Numeric | Кодировка Byte |
Емкость QR-кода
На первый взгляд может показаться, что QR-код не способен хранить много информации, и подходит лишь для кодирования коротких строк, например URL или e-mail. На самом деле максимальная емкость QR-кода не так уж мала:
Только цифры | 7,089 символов |
Цифры+латинские буквы | 4,296 символов |
Двоичные данные (8 bit) | 2,953 байт |
Kanji/Kana (символы японского алфавита) | 1,817 символов |
Таким образом, в QR-коде может быть закодировано более 2кб текста, что сильно расширяет спектр его применений, особенно учитывая удобство и скорость доставки информации конечному пользователю.
По спецификации коды делятся на версии. Номера версий варьируются от 1 до 40. Каждая версия имеет особенности в конфигурации и количестве точек(модулей) составляющих QR-код. Версия 1 содержит 21x21 модулей, версия 40 - 177x177. От версии к версии размер кода увеличивается на 4 модуля на сторону.
Каждой версии соответствует определенная емкость с учетом уровня коррекции ошибок. Чем больше информации необходимо закодировать и чем больший уровень избыточности используется, тем большая версия кода потребуется
Характеристики различных версий QR-кодов:
Версия |
Количество модулей |
Уровень коррекции |
Максимальное количество символов с учетом уровня коррекции ошибок и кодировки |
|||
Numeric |
Alphanumeric |
Byte |
Kanji |
|||
1 |
21x21 |
L |
41 |
25 |
17 |
10 |
M |
34 |
20 |
14 |
8 |
||
Q |
27 |
16 |
11 |
7 |
||
H |
17 |
10 |
7 |
4 |
||
2 |
25x25 |
L |
77 |
47 |
32 |
20 |
M |
63 |
38 |
26 |
16 |
||
Q |
48 |
29 |
20 |
12 |
||
H |
34 |
20 |
14 |
8 |
||
3 |
29x29 |
L |
127 |
77 |
53 |
32 |
M |
101 |
61 |
42 |
26 |
||
Q |
77 |
47 |
32 |
20 |
||
H |
58 |
35 |
24 |
15 |
||
4 |
33x33 |
L |
187 |
114 |
78 |
48 |
M |
149 |
90 |
62 |
38 |
||
Q |
111 |
67 |
46 |
28 |
||
H |
82 |
50 |
34 |
21 |
||
10 |
57x57 |
L |
652 |
395 |
271 |
167 |
M |
513 |
311 |
213 |
131 |
||
Q |
364 |
221 |
151 |
93 |
||
H |
288 |
174 |
119 |
74 |
||
40 |
177x177 |
L |
7,089 |
4,296 |
2,953 |
1,817 |
M |
5,596 |
3,391 |
2,331 |
1,435 |
||
Q |
3,993 |
2,420 |
1,663 |
1,024 |
||
H |
3,057 |
1,852 |
1,273 |
784 |
Micro QR-код
Micro QR код - это разновидность обычного QR кода, предназначенная для экономии места, занимаемого QR кодом, для уменьшения размера QR кода и для хранения небольших объемов данных. Эффективность хранения данных по сравнению с традиционным QR кодом значительно улучшена благодаря использованию всего одной метки позиционирования, по сравнению с тремя метками в обычном QR коде. Из-за этого освобождается определенное пространство, которое может быть использовано под данные.
Кроме того, QR код требует свободного поля вокруг кода шириной минимум в 4 модуля (имнимальной единицы построения QR-кода), в то время как Micro QR код требует поля в два модуля шириной.
Micro QR код, однако, неспособен хранить большой объем данных (максимум 35 цифр). Однако, из-за большей эффективности хранения данных, размер Micro QR кода увеличивается не столь значительно с увеличением объема закодированных данных, как традиционный QR код.
По аналогии с уровнями коррекции ошибок в QR кодах, Micro QR код бывает четырех версий, М1-М4. Максимальное количество данных, которые могут быть закодированы в Micro QR коде, в зависимости от версии, приведено в таблице ниже.
Версия кода |
Количество модулей |
Уровень коррекции ошибок |
Максимальное количество символов с учетом уровня коррекции ошибок и кодировки |
|||
Numeric |
Alphanumeric |
Byte |
Kanji |
|||
M1 |
11 |
- |
5 |
- |
- |
- |
M2 |
13 |
L |
10 |
6 |
- |
- |
M |
8 |
5 |
- |
- |
||
M3 |
15 |
L |
23 |
14 |
9 |
6 |
M |
18 |
11 |
7 |
4 |
||
M4 |
17 |
L |
35 |
21 |
15 |
9 |
M |
30 |
18 |
13 |
8 |
||
Q |
21 |
13 |
9 |
5 |
Структурное объединение
QR код может быть разделен на несколько кодов меньшего размера, причём информация, сохранённая в наборе кодов, восстанавливается в виде единого блока данных (Structured Append). Один символ может быть разложен в набор до 16 символов меньшего размера, благодаря чему можно повысить размер модулей штрих-кода при размещении на ограниченной площади (например, в вытянутой прямоугольной области). За счёт такого подхода повышается надёжность считывания данных.
Сравнение с другими символиками
QR-код позволяет эффективнее (на меньшей площади при одинаковом размере модуля), чем Aztec и Data Matrix кодировать большие объёмы цифровых данных. Символика Data Matrix уступает QR коду при кодировании более 88 цифр, Aztec уступает QR-коду при кодировании более 170 цифр. Но по эффективности кодирования текста QR-код значительно уступает Aztec, а Data Matrix превосходит только при объёме текста большем 298 символов. Однако, при кодировании текста набранного прописными (заглавными) буквами эффективности QR-код и Aztec близки, а Data Matrix уступает QR-коду уже при кодировании 88 букв.
В настоящий момент (2014 год) подготовлены документы для принятия ГОСТа на спецификацию QR-кода, ранее был принят ГОСТ для использования QR-кода в финансовых платёжных документах.