Интернет всего | Прошлое и настоящее QR-кодов
Интернет всего | Прошлое и настоящее QR-кодов

Напишите впереди:

Некоторое время назад на основе принципа «аналогичного платежного кода» связь и соединение устройств IoT были реализованы с помощью QR-кода мобильного телефона + камеры лица. Заинтересованные друзья могут общаться со мной конфиденциально, что включает в себя некоторые основы QR-кода. взгляд на знания и основополагающие принципы~

Что такое QR-код?

QR-код еще называют двумерным штрих-кодом.,Общий QR-код — QR. Код (полное QR-имя) Быстрый Response),В последние годы это очень популярный метод на мобильных устройствах.,Это лучше, чем традиционный бар Штрих-коды кода могут хранить больше информации и представлять больше типов данных.

2D-штрих-код/QR-код (2-мерный штрих-код) распределяется на плоскости (в двухмерном направлении) с помощью определенной геометрической фигуры по определенным правилам.、черно-белый、Запись символов данныхинформацияграфика;Разумно используйте кодированиеКонцепция битовых потоков «0» и «1», составляющих основу внутренней логики компьютера.,Используйте несколько геометрических фигур, соответствующих двоичным числам, для представления буквальных числовых значений.,Автоматическое считывание через оборудование ввода изображений или фотоэлектрическое сканирующее оборудование для достиженияинформация Автоматическая обработка:у него естьштрих-код Некоторые общие черты технологии:Каждая система кодирования имеет свой собственный набор символов.;Каждый символ занимает определенную ширину;Имеет определенные функции проверки и т. д.。В то же время он также имеет разные рядыинформация Функция автоматического распознавания、и обработка точек изменения вращения графики。(информация ОтЗапись в энциклопедии

первоначально в1994год поИзобретено командой Тэн Хунъюань японской компании DENSO WAVE.,Позже компания DENSO WAVE объявила,Не реализуем патентные права нашей компании на стандартные QR-коды (Патент № 2938338).,в настоящий момент,QR-коды стандартизированы в национальных и международных стандартах.,Любой желающий может просмотреть стандарт по своему желанию.

История QR-кодов – штрих-кодов:

Введение:

штрих-кодИлиштрих-код(Английский:barcode):Он заключается в объединении нескольких черных полос и пустых пространств разной ширины.,Оформляйте по определенным правилам,Графический идентификатор, используемый для выражения группы информации. Обычный штрих-код представляет собой образец параллельных линий, расположенных черными полосами (называемыми полосами) и белыми полосами (называемыми пустыми) с очень разными скоростями.

развивать:

После вступления в 1960-е годы Япония вступила в период быстрого роста, и в городах начали появляться супермаркеты, продающие широкий ассортимент товаров, таких как продукты питания и одежда.

Для решения многих сценариев, требующих ручного ввода и сложной рабочей нагрузки.,штрих-код (одномерный код)Рожденный для операции,Чтение датчиком освещенностиштрих-код,Имя, цена и т.д. могут отображаться непосредственно на кассе (компьютере),Технология автоматической идентификации, которая широко используется в торговле, почтовой службе, библиотечном управлении, складском хозяйстве, управлении производственными процессами, транспорте и других областях.,Он имеет такие преимущества, как высокая скорость ввода, высокая точность, низкая стоимость и высокая надежность.,Он играет важную роль в современной технологии автоматической идентификации.

определение:

Система штрих-кода:

Обычно используемые одномерные кодовые системы (типы) включают: код EAN, код 39, перекрестный код 25, код UPC, код 128, код 93, код ISBN и Codabar (код Codabar) и т. д.

EAN Код: это международно-признанная система символов. Это штрих-код фиксированной длины, не имеющий значения. Представленная информация состоит только из цифр. В основном он используется для идентификации продукта. 39 ярдов и 128 ярдов:Индивидуальная система кодирования для отечественных предприятий,Длина штрих-кода и информации может быть определена в соответствии с вашими потребностями.,Кодирование информации может быть числом,Также может содержать буквы,В основном используется в промышленных производственных линиях, управление библиотекойждать。Code 39 штрих-код — это широко используемый штрих-код, который может представлять цифры, английские буквы и «-», «.», «/», «+», «%», «$», "" (пробел) и "*" всего 44 символы, из которых «*» используется только в качестве начального символа и терминатора. Вы можете использовать как цифры, так и Буквы и соответствующие символыинформация。Вся информация является цифровой и в основном используется для идентификации продукта.

93 ярда:это что-то похожее на39Закодированныйштрих-код,плотность у него выше,способен заменить39код。 25 ярдов:В основном используется в упаковке、运输以及国际航空系统из机票顺序编号ждать。 Кодабар-код:Используется в банках крови、библиотека、包裹ждатьиз跟踪管理。 ISBN:используется дляуправление библиотекой。

Другие типы справочных штрих-кодов — Википедия

Штрих-код - Структура:

Порядок составления полного штрих-кода следующий: тихая зона (спереди), начальный символ, символ данных (средний разделитель, в основном используется для кода EAN), (проверочный символ), терминатор, тихая зона (сзади). Как показано выше:

  • Тихая зона: относится к ограниченной области за пределами левого и правого концов штрих-кода, которая имеет ту же скорость, что и пустое отражение.,Это левая и правая пустые области,Это может подготовить читателя к чтению.,Когда два штрих-кода расположены близко друг к другу,Тихие зоны помогают их отличить,Ширина тихой зоны обычно должна быть не менее 6 мм (или в 10 раз больше ширины модуля).
  • Начальный/стоповый символ:относится к расположенному вштрих-код Несколько начальных и конечных тактов и пробелов.,Начало и конец знака штрих-кода,В то же время предоставляются информация идентификации кодовой системы и информация о направлении считывания.
  • Символ данных:родыштрих-кодсерединаБар и пустые конструкции,Он содержит конкретную информацию, выраженную штрих-кодом.
  • Проверить характер:Проверьте правильность считанных данных。другойкодированиеправило可能会有другойиз校验правило(частьштрих-код Между символом данных и завершающим символом также имеется Проверить характер)
  • Модуль:составляютштрих-код Основной единицей является модуль,модульОтносится к самой узкой полосе или пробелу в штрих-коде.,Ширина модуля обычно составляетmmилиmil(Тысячные доли дюйма)как единица。составляютштрих-кодиз一个条или空称为единица,Количество модулей, входящих в единицу, определяется методом кодирования. Некоторые кодировки находятся в процессе,Например, код EAN,Все единицы состоят из одного или нескольких модулей, а другие системы кодирования;,Например, 39 ярдов,Все блоки имеют только две ширины,то есть широкая единица и узкая единица,Узкий блок представляет собой модуль.

Принцип распознавания штрих-кода:

Составлять по определенным правиламштрих-кодпревратился в значимыйинформация,Ему необходимо пройти два процесса сканирования и декодирования.

(1) Процесс сканирования:

объектцветсвоимотражение Определяется типом света,БелыйЭнергия объектаотражениеРазличныйдлина волныизвидимый свет,черный物体则吸收Различныйдлина волныизвидимый свет,Итак, когдаштрих-кодсканеристочник света发出из光在штрих-кодначальствоотражениеназад,Свет отражения попадает на фотоэлектрический преобразователь внутри сканера штрих-кода.,Фотоэлектрический преобразователь реагирует на световые сигналы различной силы и слабости.,преобразован в相应изэлектрический сигнал。根据原理из差异,сканер可以分为光笔、CCDлазертри вида。электрический сигнал Вывод вштрих-кодсканериз放大电路增强信号之назад,а затем отправляется в схему формирования дляаналоговый сигналпреобразован вцифровой сигнал。белые полоски、黑条из宽度другой,相应изэлектрический сигналпродолжениевремя长短也другой。

(2) Процесс декодирования:

译код器通过测量пульсчислоэлектрический сигнал0、1из数目来判别条和空из数目,Ширина полос и пробелов определяется путем измерения длительности сигналов 0 и 1. Данные, полученные на данный момент, все еще беспорядочны.,Чтобы узнать, какой штрих-код содержится в информации,则需根据对应изкодированиеправило(Например:Код EAN-8),Замените символы полос соответствующими цифрами и символами информации. наконец,Зависит откомпьютерСистема обработки и управления данными,Детали предмета уточняются.

Штрих-код - Возникла проблема:

Благодаря популярности,新извопрос出现:штрих-код имеет ограниченную емкость,Английские номера могут содержать не более 20 символов.

Есть новые требования:

  • Было бы хорошо, если бы само кодирование содержало больше информации.
  • Я надеюсь, что у меня будет функция обработки кандзи и каны.

В то время человек, ответственный за исследования и разработку QR-кодов, отец QR-кодов, Юань Чанхун, подумал: штрих-коды могут хранить информацию только горизонтально (одно измерение). Напротив, если их можно расположить вертикально и горизонтально, они будут храниться только горизонтально. можно разместить больше информации. И исходя из этого, оно должно легко читаться. Так появился более поздний QR-код.

Отец QR-кода — Юань Чанхун


Виды QR-кодов

Это также называется системой кодирования QR-кода. Распространенными системами кодирования являются:

QRCode、Ганзейский кодекс、PDF417 двухмерный штрих-код(откроется в новом окне)、Двумерный штрих-код Datamatrix、Code 49、Code 16K、Code один и т. д. Образец показан на рисунке:

Характеристики QR-кода

Особенность 1-Хранение большого объема информации:

Традиционные штрих-коды могут обрабатывать только около 20 цифр информации. По сравнению с этим, QR-коды могут обрабатывать в десятки-сотни раз больше информации, чем штрих-коды.

Кроме того, QR-коды могут поддерживать все типы данных. (Например: цифры, английские буквы, японские буквы, китайские иероглифы, двоичные символы, коды управления и т. д.). QR-код может обрабатывать огромный объем информации длиной до 7089 символов (при использовании только цифр).

Функция 2-Поддержка печати в небольшом пространстве:

QR-коды обрабатывают данные, используя две ориентации: книжную и альбомную.,Если это та же сумма информации,QRкод所占空间为штрих-кодизодна десятая частьо。(Также поддерживаетMicro QR-коды могут обрабатывать данные в меньшем пространстве. )

Особенность 3 – Эффективная обработка различных текстов:

QR-код — это двумерный код, изготовленный в Японии, поэтому он очень подходит для обработки японских букв и кандзи.

Определение спецификации набора символов QR-кода сформулировано в соответствии с японским стандартом «Кандзи уровня 1 и уровня 2». Следовательно, с точки зрения японской обработки, каждая полноширинная буква и кандзи обрабатываются с 13 битами данных. который более эффективен и совместим с другими QR-кодами, он может хранить более чем на 20% больше информации.

Особенность 4-Высокая отказоустойчивость, защита от поломок:

QR-коды имеют «функцию исправления ошибок», которая позволяет восстановить данные, даже если часть кода станет грязной или поврежденной. Единицей восстановления данных является «кодовое слово» (это единица, из которой состоят внутренние данные. В случае QR-кода каждые 8 ​​бит представляют 1 кодовое слово.) В зависимости от степени загрязнения и повреждений могут быть случаи, когда восстановление невозможно.

Особенность 5-распознавание любого направления:

QR-коды можно быстро прочитать в любом направлении на 360°. Причина в том, что три шаблона позиционирования в QR-коде могут помочь QR-коду не зависеть от стиля фона и обеспечить быстрое и стабильное чтение.

Функция 6-Поддержка функции слияния данных:

QR-коды могут разделять данные на несколько кодов, поддерживая до 16 QR-кодов. Используя эту функцию, вы также можете печатать QR-коды на длинных и узких участках. Альтернативно, несколько кодов разделения могут быть объединены в одни данные.

Состав QR-кода

Версия и емкость QR-кода:

(1) Какова емкость версии:

QR-коды имеют разные версии (типы) от 1 до 40, и каждой версии присуща структура элементов кода (количество элементов кода). (Элементы кода — это квадратные черные и белые точки, составляющие QR-код.)

«Структура элементов кода» относится к количеству элементов кода в QR-коде. Начиная с версии 1 (21 элемент кода × 21 элемент кода), вертикальные и горизонтальные приращения составляют по 4 элемента кода каждый до версии 40 (177 элементов кода × 177 элементов кода).

QRЗакодированный各个版本结合Объем данных, тип символов и уровень исправления ошибок,Каждый из них имеет соответствующее максимальное количество входных символов. То есть,Если объем данных увеличивается,Вам нужно использовать больше элементов кода для формирования QR-кода,QR-код станет больше.

(2) Каков уровень исправления ошибок:

QR-код имеет «функцию исправления ошибок». Автоматически восстанавливайте данные, даже если кодировка становится грязной или поврежденной. Эта «возможность исправления ошибок» имеет 4 уровня, и пользователи могут выбрать соответствующий уровень в зависимости от среды использования. Увеличение уровня увеличит возможность исправления ошибок, но по мере увеличения объема данных будет увеличиваться и размер кодирования.

Пользователи должны выбрать соответствующий уровень после всестороннего рассмотрения среды использования, размера кодирования и других факторов. 在工厂ждать容易沾染赃物из环境下,Вы можете выбрать уровень Q или H.,в менее грязной среде,А когда объем данных большой,Вы также можете выбрать уровеньL。В целом пользователи в основном выбирают уровеньM(15%)

Скорость восстановления: соотношение всех кодовых слов относительно друг друга.

(3) Принцип кода исправления ошибок:

Коэффициент уровня исправления ошибок относится к отношению всех кодовых слов к кодовым словам, которые могут быть исправлены. Например, если имеется 100 данных кодовых слов, которые необходимо закодировать, и вы хотите исправить половину из них, то есть 50 кодовых слов, метод расчета следующий. Для исправления ошибок требуется вдвое больше символов (кодирование RS), чем кодовых слов, поэтому число в данном случае составляет 50 × 2 = 100 кодовых слов. Следовательно, общее количество кодовых слов составляет 200, из которых 50 кодовых слов используются для исправления ошибок. Таким образом, рассчитано, что коэффициент исправления ошибок относительно всех кодовых слов составляет 25%. Это соотношение эквивалентно уровню «Q» на уровне исправления ошибок QR-кода.

Код RS: функция исправления ошибок QR-кода достигается путем добавления кода RS к исходным данным. Кодирование RS — это метод математического исправления ошибок, применяемый к музыкальным компакт-дискам и другим целям. Он может выполнять исправление ошибок в байтах и ​​подходит для внезапных ошибок, когда места ошибок сконцентрированы.

(4) Выбор версии QR-кода:

Например, если вводимые данные представляют собой 100-значное число, выберите его, выполнив следующие шаги.

1. Предположим, что тип данных, которые необходимо ввести, — «число». 2. Выберите уровень исправления ошибок: «L», «M», «Q», «H». (при условии, что выбрано «М») 3. Проверьте таблицу ниже. Сначала найдите числа выше 100 и близкие к 100 в столбце чисел. Затем найдите уровень исправления ошибок «M». Пересечение этих двух значений является лучшим вариантом.

вопрос:面对другой混合字符из数据怎么办?ссылка:https://www.qrcode.com/zh/about/version.html

Структура QR-кода:

Принципиальная схема структуры QR-кода

(1) Графика определения положения, графические разделители определения положения и графика позиционирования:

Используется для поиска QR-кодов. Для каждого QR-кода положение фиксировано, но размер и характеристики будут разными; эти три шаблона позиционирования имеют белые края, которые являются графическими разделителями для определения положения. Причина использования трех вместо четырех. трое могут определить прямоугольник

(2) Графика коррекции

После определения спецификаций также определяются количество и расположение корректирующих изображений. Это требуется только для QR-кодов версии 2 и выше (включая версию 2).

(3) Информация о формате

Указывает уровень исправления ошибок QR-кода, который разделен на L, M, Q и H. Он существует во всех размерах и используется для хранения некоторых форматированных данных.

(4) Информация о версии

То есть спецификации QR-кодов. Существует 40 матричных спецификаций символов QR-кода (обычно черно-белых), от 21x21 (версия 1) до 177x177 (версия 40). Каждая версия символа больше предыдущей версии. Добавьте по 4 модуля с каждой стороны. существовать >= Version 7 и выше, необходимо зарезервировать две штуки по 3 x Область 6 хранит некоторую информацию о версии.

(5) Кодовые слова данных и исправления ошибок

Фактическая сохраненная информация QR-кода и кодовые слова для исправления ошибок (используются для исправления ошибок, вызванных повреждением QR-кода).

Принцип QR-кода:

1. Процесс кодирования QR-кода:

二维код内容:123456

(1) Добавить графику определения положения

Сначала нарисуйте графический шаблон определения положения в трех углах. (Независимо от версии, размер этого узора — 7*7)

(2) Графика коррекции рисунка (5*5)

Что касается положения выравнивания, вы можете просмотреть таблицу определений в таблице E.1 на странице 81 [Спецификация QR-кода] (следующая таблица является неполной)

На рисунке ниже показан пример, основанный на версии 8 в приведенной выше таблице (6, 24, 42).

(3) Нарисуйте графику позиционирования.

Далее идет расположение линий рисунка.

Далее идет информация о формате, синяя часть на рисунке ниже.

Информация о формате представляет собой 15-битный фрагмент информации. Положение каждого бита показано на рисунке ниже: (Обратите внимание, что темный модуль на рисунке всегда отображается).

Эти 15 бит включают в себя:

  • 5 бит данных: 2 бита используются для указания того, какой тип уровня коррекции ошибок используется, а 3 бита используются для указания того, какой тип маски используется.
  • 10 бит коррекции ошибок. В основном рассчитывается с помощью кода BCH.

Затем 15 бит необходимо объединить с помощью XOR с 101010000010010. Это гарантирует, что все будет белым, потому что мы выбрали уровень исправления ошибок 00 и маску 000, что увеличит сложность распознавания изображения нашим сканером.

(4) Уровень ошибки:

(5) Добавьте информацию о версии.

(Эта кодировка требуется после версии 7), синяя часть на картинке ниже.

Информация о версии состоит из 18 бит, включая 6 бит номера версии и 12 бит кода исправления ошибок. Ниже приведен пример.

Положение наполнения показано ниже:

(6) Данные чертежа и код исправления ошибок данных

Затем заполняем наш окончательный код. Окончательный код заполняется следующим образом: начинаем с нижнего левого угла и заполняем различные биты по красной линии: 1 — черный, 0 — белый. Если обнаружена указанная выше область без данных, пропустите ее.

(7) Преобразование в шаблон маски

Таким образом, наша картинка заполнена, но, возможно, эти точки не сбалансированы. Если будут большие участки пустых или черных блоков, это скажет нам о сложности сканирования и распознавания.

Поэтому нам все равно нужно выполнить операцию маскировки. Вы можете использовать 8 масок. Как показано ниже: Среди них формулы каждой маски находятся под каждым изображением. Так называемая маска предназначена для выполнения операции XOR с графом, созданным выше. Маска выполнит XOR только с областью данных и не повлияет на функциональную область. (Примечание: Также существует алгоритм выбора подходящей Маски)

Ниже представлен внешний вид после маски. Мы видим, что данные, подвергнутые XOR некоторыми масками, стали более разрозненными.

QR-код после маскировки становится финальным изображением.

2. Процесс расшифровки QR-кода:

Вышеупомянутый процесс кодирования обратный процессу декодирования:

  1. получатьИнформация о версии, информация о формате,Обратное исключающее ИЛИПолучите оригинал за один разинформация
  2. Исходная информация содержит шаблон маски.,Снова выполните XOR QR-код и шаблон исходного кода.,Вы можете получить оригинальный образец QR-кода
  3. Удалите всю функциональную графику, такую ​​как область определения положения, область коррекции и т. д.,留下изчасть就是Кодировка исходных данных + код исправления ошибок + количество нулей для завершения
  4. По версии + уровень исправления ошибок,Вы можете узнать, как долго длится кодирование исходных данных и код исправления ошибок соответственно.,И какой порядок чередования?
  5. Исходные данные кодирование ex 4 бит представляет режим кодирования, за которым следует 9 биты, представляющие исходную длину строки,По версии + уровень исправления ошибок也能知道随назадиз哪些表示源字符串изкодированиечасть
  6. Декодируйте исходную строку по шаблону кодирования.

напиши в конце

Справочные документы:

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.