Текстовые и повседневные инструменты · Набор инструментов для QR и штрих-кодов
Как телефоны определяют, что означает QR-код: URL, WIFI:, mailto: и тел:
· Как это работает
qr-код кодирование конфиденциальность
QR-код хранит только текст; в этом посте объясняются соглашения о полезной нагрузке — URL-адреса, WIFI:, mailto:, tel:, MECARD и vCard — которые распознаются приложениями камеры, с точными строками для ввода.
Это всего лишь текст — почему QR-код не знает, что содержит пароль Wi-Fi, и как приложение для сканирования определяет намерение по строке
QR-матрица содержит байты; смысл исходит из декодированного текста и приложения сканера. Компоновщики полезных данных ToolAcre делают этот текст явным, возвращая как полезные данные, так и примечания или предупреждения, поэтому преобразования становятся видимыми, а не скрытыми.
Форма возврата застройщика помогает выявить это разделение. Он предоставляет точную полезную нагрузку, информационные примечания о преобразованиях и предупреждения о рискованном выборе. Таким образом, пользовательский интерфейс может сказать, что он добавил `https://`, нормализовал номер телефона или экранировал знаки препинания вместо того, чтобы показывать только законченный квадрат. Когда другой телефон ведет себя иначе, необработанная строка становится тестовым артефактом, который можно декодировать и сравнивать, не догадываясь, что означает эта форма.
URL-адреса и схемы — http, https, mailto:, tel: и sms:, и почему префикс схемы решает, какое приложение откроется.
Обычный префикс дает сканеру подсказку к действию: https может открыть браузер, mailto может подготовить электронную почту, tel может предложить звонок, а конструктор SMS набора инструментов использует полезную нагрузку SMSTO. Фактические запросы по-прежнему зависят от приложения сканирования.
ToolAcre процентно кодирует темы и текст электронных писем, поэтому такие символы, как `#`, `&` и разрывы строк, остаются внутри значений запроса, а не становятся разделителями URI. Полезные данные телефона сохраняют цифры и начальный плюс, удаляя при этом пробелы форматирования. Это правила построения полезной нагрузки, а не обещания, что каждое устройство будет автоматически совершать вызов или открывать композитор; сканер и операционная система по-прежнему выбирают действие.
Формат WIFI: — поля T, S, P и H, завершающая двойная точка с запятой, а также способы экранирования точек с запятой и обратной косой черты в паролях.
ToolAcre записывает значения Wi-Fi в виде полей WIFI для типа аутентификации, SSID, пароля и скрытого статуса, заканчивающихся двойной точкой с запятой. Он избегает обратной косой черты, точки с запятой, двоеточия, запятых и кавычек, поэтому пунктуация не может завершить поле раньше.
Конкретный случай Wi-Fi — `Café;Visitors` с паролем, содержащим двоеточие и обратную косую черту. Построитель добавляет к зарезервированным символам обратную косую черту и сообщает, что произошло экранирование. Он также цитирует шестнадцатеричное число SSID четной длины, чтобы читатели не интерпретировали имя как закодированные байты. Если уровень безопасности отличается от `nopass` и пароль пуст, панель выдает предупреждение вместо создания учетных данных.
Карточки контактов: ToolAcre создает vCard 3.0 и не создает MECARD
В схеме MECARD контрастирует с vCard, но этот набор инструментов реализует только vCard 3.0. Его создатель избегает знаков препинания vCard, выдает поля контактов и намеренно избегает свертывания строк, поскольку в хранилище документов возникают проблемы совместимости с популярными сканерами.
Конструктор vCard начинается с `BEGIN:VCARD` и `VERSION:3.0`, записывает компоненты структурированного имени отдельно и заканчивает `END:VCARD`. Он нормализует поле телефона и экранирует запятые, точки с запятой, обратную косую черту и символы новой строки, где это необходимо. Организация может заменить имя пропавшего человека, но сам по себе номер телефона не дает карты, поскольку нет значимого отображаемого идентификатора.
Обычный текст и неизвестные полезные данные — что камера делает со строкой, которую она не распознает
Если сканер не распознает соглашение о полезной нагрузке, он все равно может представить декодированный текст. Именно из-за этого запасного варианта полезно проверять необработанные полезные данные: генерация может гарантировать байты и экранирование, а не интерфейс конкретного приложения камеры.
Неизвестная полезная нагрузка остается полезной в виде текста только в том случае, если человек может ее понять. Сканер, который не распознает `SMSTO:` или vCard, может отображать полную строку, включая escape-символы и метки полей. Это скорее ошибка совместимости, чем поврежденная кодировка QR. Сохраните читаемый запасной вариант или протестируйте конкретные приложения камеры, когда желаемое действие важнее, чем простое восстановление байтов.
Рабочий пример — написание полезных данных гостевого Wi-Fi и карточки контакта вручную, создание обоих и сканирование с помощью двух разных телефонов.
Создайте гостя SSID, например Café;Visitors, и пароль, содержащий двоеточие или обратную косую черту, затем проверьте экранированную строку WIFI. Для контакта используйте поля vCard набора инструментов и сравните полезную нагрузку; MECARD намеренно опущен, поскольку он не реализован.
Создайте карту Wi-Fi и карту контакта на основе примеров с большим количеством знаков препинания, затем декодируйте их на поддерживаемых телефонах и сравните полученные значения с предварительным просмотром полезных данных. Состязательные тесты хранилища уже проходят через парсер и проверяют разделители vCard; тестирование устройств добавляет уровень приложения, который не могут быть представлены модульными тестами. MECARD не должен появляться в сравнении, поскольку этот инструментарий никогда не создает его.
Рабочий пример: создайте полезную нагрузку Wi-Fi и ToolAcre vCard, а не неподдерживаемый код MECARD.
Эти конструкторы не создают собственные глубокие ссылки, схемы оплаты и другие форматы, специфичные для домена. QR-кодер может кодировать произвольный текст, но это не означает, что ToolAcre проверяет внешнюю схему или гарантирует, что другое приложение будет действовать на ее основе.
Пользовательскую строку платежа или строку глубокой ссылки можно ввести в виде обычного текста, но при этом обходится проверка, специфичная для схемы. ToolAcre будет точно кодировать искаженные данные так же, как он кодирует действительный произвольный текст. Поддерживаемые панели полезной нагрузки повышают ценность, поскольку они экранируются и предупреждают в соответствии с реализованными правилами. Для любой проприетарной схемы используйте ее текущий авторитетный инструментарий, а не рассматривайте общее кодирование байтов как соответствие.
Вывод: точно введите полезную информацию, и набор инструментов для QR и штрих-кодов закодирует ее локально, а пароль никогда не покинет ваше устройство.
Выберите поддерживаемую панель полезных данных, проверьте созданный текст и протестируйте его на типичных телефонах. QR-код Wi-Fi сохраняет локальность конструкции и обрабатывает правила экранирования, которые могут нарушить рукописные сетевые учетные данные.
Проверьте перед экспортом: подтвердите видимое необработанное значение, прочитайте все предупреждения и протестируйте запланированное действие. Что касается Wi-Fi, помните, что любой, кто фотографирует код, получает учетные данные; для карточек контактов обрезайте длинные заметки, когда строитель предупреждает, что плотность выросла. QR-слой сохраняет подготовленные байты, а правильный выбор полей и безопасное распространение остаются обязанностью издателя.