テキストおよび日常ツール · QR & バーコード ツールキット
QR コードの意味を携帯電話がどのように判断するか: URL、WIFI:、mailto:、tel:
· 仕組み
qrコード エンコード プライバシー
QR コードにはテキストのみが保存されます。この投稿では、カメラ アプリが認識するペイロード規則 (URL、WIFI:、mailto:、tel:、MECARD、vCard) と、入力する正確な文字列について説明します。
それはすべて単なるテキストです。なぜ QR コードには Wi-Fi パスワードが含まれていることを認識しないのか、そしてスキャン アプリが文字列からどのように意図を推測するのか
QR マトリックスはバイトを運びます。意味は、デコードされたテキストとスキャナ アプリケーションから得られます。 ToolAcre のペイロード ビルダーはテキストを明示的にし、ペイロードとメモまたは警告の両方を返すため、変換は黙って隠されるのではなく表示されます。
ビルダーの戻り形状は、この分離を明らかにするのに役立ちます。正確なペイロード、変換に関する情報メモ、および危険な選択に関する警告を提供します。したがって、UI は、完成した四角形だけを表示するのではなく、`https://` を追加した、電話番号を正規化した、または句読点をエスケープしたと言えます。別の電話機の動作が異なる場合、生の文字列は、フォームの意図を推測することなくデコードおよび比較できるテスト アーティファクトになります。
URL とスキーム — http、https、mailto:、tel:、および sms:、およびスキームのプレフィックスがどのアプリを開くかを決定する理由
従来のプレフィックスは、スキャナーにアクションのヒントを与えます。https はブラウザーを開くことができ、mailto は電子メールを準備でき、tel は電話をかけることができ、ツールキットの SMS ビルダーは SMSTO ペイロードを使用します。実際のプロンプトは依然としてスキャン アプリケーションによって異なります。
ToolAcre は電子メールの件名と本文をパーセント エンコードするため、`#`、`&` などの文字や改行は URI 区切り文字にならず、クエリ値の中に残ります。電話機のペイロードでは、書式設定スペースを削除しながら、数字と先頭のプラスが保持されます。これらはペイロード構築ルールであり、すべてのデバイスが自動的に電話をかけたり、コンポーザーを開くことを約束するものではありません。スキャナーとオペレーティング システムがアクションを選択します。
WIFI: 形式 - T、S、P、および H フィールド、末尾の 2 つのセミコロン、およびパスワード内のセミコロンとバックスラッシュをエスケープする方法
ToolAcre は、認証タイプ、SSID、パスワード、および非表示ステータスの WIFI フィールドとして Wi-Fi 値を書き込み、最後に 2 つのセミコロンを付けます。バックスラッシュ、セミコロン、コロン、コンマ、引用符はエスケープされるため、句読点でフィールドを早期に終了することはできません。
具体的な Wi-Fi ケースは、コロンとバックスラッシュを含むパスワードを持つ `Café;Visitors` です。ビルダーは予約文字の前にバックスラッシュを付け、エスケープが発生したことを報告します。また、偶数長の 16 進数に見える SSID を引用するので、リーダーが名前をエンコードされたバイトとして再解釈することはありません。セキュリティが `nopass` ではなく、パスワードが空白の場合、パネルは資格情報を作成する代わりに警告を出します。
連絡先カード: ToolAcre は vCard 3.0 を生成しますが、MECARD は生成しません
概要では MECARD と vCard を対比していますが、このツールキットは vCard 3.0 のみを実装します。そのビルダーは、vCard 句読点を回避し、連絡先フィールドを生成し、リポジトリが一般的なスキャナーの互換性の問題を文書化しているため、意図的に行の折りたたみを回避します。
vCard ビルダーは `BEGIN:VCARD` および `VERSION:3.0` で始まり、構造化された名前コンポーネントを個別に書き込み、`END:VCARD` で終了します。電話フィールドを正規化し、必要に応じてコンマ、セミコロン、バックスラッシュ、改行をエスケープします。組織は行方不明の人の名前の代わりをすることができますが、意味のある表示 ID がないため、電話番号だけではカードを作成できません。
プレーン テキストと未知のペイロード — 認識できない文字列に対するカメラの動作
スキャナーがペイロード規則を認識しない場合でも、デコードされたテキストを表示できます。このフォールバックが、生のペイロードの検査が役立つ理由です。生成では、特定のカメラ アプリケーションのインターフェイスではなく、バイトとエスケープが保証されます。
未知のペイロードは、人が理解できる場合にのみテキストとして役立ちます。 `SMSTO:` または vCard を認識しないスキャナーでは、エスケープ文字やフィールド ラベルを含む完全な文字列が表示される場合があります。これは、QR エンコードの破損ではなく、互換性の問題です。単にバイトを回復することよりも必要なアクションが重要な場合は、読み取り可能なフォールバックを保存するか、正確なカメラ アプリケーションをテストします。
実用的な例 — ゲスト Wi-Fi ペイロードと連絡先カードを手動で書き込み、両方を生成し、2 台の異なる電話でスキャンする
Café;Visitors などのゲスト SSID とコロンまたはバックスラッシュを含むパスワードを作成し、エスケープされた WIFI 文字列を検査します。連絡先の場合、ツールキットの vCard フィールドを使用してペイロードを比較します。 MECARD は実装されていないため、意図的に省略されています。
句読点が豊富な例から Wi-Fi カードと連絡先カードを構築し、サポートされている電話で両方をデコードし、結果の値をペイロード プレビューと比較します。リポジトリの敵対的テストは、すでにパーサーを通じて Wi-Fi フィールドを往復し、vCard 区切り文字を検証しています。デバイス テストは、単体テストでは表現できないアプリケーション層を追加します。 MECARD は、このツールキットでは作成されないため、比較には表示されません。
成功した例: サポートされていない MECARD コードではなく、Wi-Fi ペイロードと ToolAcre vCard をビルドします
独自のディープリンク、支払いスキーム、およびその他のドメイン固有の形式は、これらのビルダーによって生成されません。 QR エンコーダーは任意のテキストをエンコードできますが、ToolAcre が外部スキームを検証したり、別のアプリがそのスキームに基づいて動作することを保証したりすることを意味するものではありません。
カスタムの支払い文字列またはディープリンク文字列はプレーン テキストとして入力できますが、そうするとスキーム固有の検証がバイパスされます。 ToolAcre は、有効な任意のテキストをエンコードするのと同じように、不正なデータを忠実にエンコードします。サポートされているペイロード パネルは、実装されたルールに従ってエスケープおよび警告を行うため、付加価値が生じます。独自のスキームについては、汎用バイト エンコーディングを準拠として扱うのではなく、その最新の権威ツールを使用してください。
重要な点 — ペイロードを正確に入力すると、QR & バーコード ツールキットがローカルでエンコードし、パスワードがデバイスから離れることはありません
サポートされているペイロード パネルを選択し、生成されたテキストを検査し、代表的な電話機でテストします。 Wi-Fi QR コードは構築をローカルに保ち、手書きのネットワーク認証情報を破る可能性が最も高いエスケープ ルールを処理します。
エクスポート前に検査します。表示される生の値を確認し、すべての警告を読み、意図したアクションをテストします。 Wi-Fi の場合、コードを写真に撮った人は誰でも認証情報を受け取ることに注意してください。連絡先カードの場合は、密度が増加したことを作成者が警告したときに、長いメモをトリミングします。 QR レイヤーは準備されたバイトを保存しますが、正しいフィールドの選択と安全な配布は発行者の責任となります。