Генерация QR-кода
Ввод данных:
Телеграм бот

Пошаговый процесс генерации QR-кода
Количество символов в текстовом поле:
Информация о каждом символе и его возможной кодировке:
Индекс | Символ | Юникод | Ц | БЦ | Б | К |
---|
Может ли каждый символ быть закодирован:
Кодирование | Возможно ли закодировать |
---|
Выбранный режим для кодирования всех символов:
Переведем каждый символ в двоичное число. For numeric and alphanumeric modes, consecutive characters are grouped together before being encoded into bits.
Индех | Символ | Юникод | Значение-1 | Значение-2 | Биты |
---|
Характеристики созданного сегмента:
- Количество:
- Данные:
Общая длина в битах, необходимая для представления списка сегментов, в зависимости от версии:
Диапазон | Числовые биты | Количество байтов |
---|---|---|
Версии 1 ~ 9 | ||
Версии 10 ~ 26 | ||
Версии 27 ~ 40 |
Ёмкость QR-кода в кодовых словах для каждой версии и уровня исправления ошибок, а также соответствие данных (зелёный/красный фон):
Версия | Low | Medium | Quartile | High |
---|
Выбранная версия:
Поле | Биты | Кол-во бит | Сумма битов |
---|
-
Способ кодирования всегда состоит из 4 битов.(0001 - цифровое кодирования, 0010 - буквенно-цифровое, 0100 - побайтовое)
-
Количество данных — это количество кодируемых символов, а для побайтового — количество байт. Зависит кодировки и версии
-
Терминатор в QR-коде — это битовый шаблон, состоящий из нулей, используемый для индикации окончания двоичной строки, представляющей данные.
-
Дополнение битами составляет от нуля до семи «нулевых» битов для заполнения всех неиспользуемых битов в последнем байте.
-
Дополнение байтами состоит из чередующихся (в шестнадцатеричном формате) EC и 11 до достижения максимальной ёмкости.
Полная последовательность битов данных:
Вся последовательность байтов кодовых слов данных, отображаемая в шестнадцатеричном виде:
Данные про все блоки:
Блоков данных: | |
Количество блоков: | |
Кол-во данных в коротком блоке: | |
Кол-во данных в длинном блоке: | |
Блоков коррекции: | |
Коротких блоков: | |
Длинных блоков: |
Номер блока |
---|
Конечная последовательность кодовых слов, сформированная путем чередования данных/кодовых слов ECC из разных блоков:
Конечная последовательность битов для рисования при сканировании зигзагом:
Нарисуем горизонтальные и вертикальные полосы синхронизации (в строке 6 и столбце 6, начиная с 0 в левом верхнем углу):
Выделим поисковые узоры в трех углах, каждый из которых имеет размер 8×8, включая разделительное поле:
Нарисуем сетку выравнивающих узоров, каждый из которых имеет размер 5×5. Они помогают исправлять искажения, возникающие при сканировании кода под углом или на неровной поверхности:
Разместим пустые поля (рядом с поисковыми узорами) для указания кода маски и уровня коррекции:
Нарисуйте два блока 6×3 (рядом с поисковыми узорами), которые содержат информацию о версии:
Нарисуем модули данных в соответствии с порядком зигзагообразного сканирования(с правого нижнего угла) и значениями битов из окончательной последовательности кодовых слов::
1-темный модуль, 0-светлый модуль:
Показать:
Шаблон маски (влияет только на нефункциональные модули):
Если модуль маски черный, то при наложение темный модуль QR-кода становиться белым, белый модуль - черным. Операция XOR :
Шаблон маски: | |
---|---|
Без наложения маски: | |
С наложением маски: | |
Биты формата : |
По горизонтали и вертикали за каждые 5 и более идущих подряд модулей одного цвета начисляются штрафные очки: длина повторяющихся модулей - 2.
Вертикаль:
За каждый квадрат модулей одного цвета размером 2 на 2 начисляется по 3 штрафных очка:
Горизонтальные последовательности ЧБЧЧЧБЧ:
Вертикальные последовательности ЧБЧЧЧБЧ:
Характеристика маски:
Длина стороны: | |
Общее количество модулей: | |
Светлые модули: | |
Темные модули: | |
Пропорция: | |
Отклонение от 50%: |
№ Маски | ЧЧЧЧЧ / БББББ | Квадрат | ЧБЧЧЧБЧ | Соотн. | Всего штр. очков |
---|
Наименьшее количество штрафных очков у шаблона маски
Как высчитываются штрафные очки:
-
Правило 1. По горизонтали и вертикали за каждые 5 и больше идущих подряд модулей одного цвета начисляется количество очков, равное длине этого участка минус 2
-
Правило 2. За каждый квадрат модулей одного цвета размером 2 на 2 начисляется по 3 очка.
- Правило 3. За каждую последовательность модулей . ЧБЧЧЧБЧ:, с 4-мя белыми модулями с одной из сторон (или с 2-х сразу), добавляется 40 очков (по вертикали или горизонтали)
-
Правило 4. Соотношение: 0 очков, если доля тёмных модулей находится в диапазоне [45%, 55%]; 10 очков, если в диапазоне [40%, 60%]; 20 очков, если в диапазоне [35%, 65%]; 30 очков, если в диапазоне [30%, 70%]