繁體中文

文字與日常工具·二維碼與條碼工具包

手機如何決定 QR 碼的意思:URL、WIFI:、mailto: 和 tel:

· 工作原理

二維碼 編碼 隱私

一個 QR 網格分支用於連結、Wi-Fi、電子郵件和電話操作
原始 ToolAcre 向量圖

QR 碼僅儲存文字;這篇文章解釋了相機應用程式識別的有效負載約定 - URL、WIFI:、mailto:、tel:、MECARD 和 vCard - 以及要輸入的確切字串。

這只是文字 - 為什麼二維碼不知道它包含 Wi-Fi 密碼,以及掃描應用程式如何從字串推斷意圖

QR 矩陣攜帶位元組;意義來自解碼的文字和掃描器應用程式。 ToolAcre 的有效負載建構器使該文字變得明確,傳回有效負載和註解或警告,因此轉換是可見的而不是默默地隱藏。

建構器的傳回形狀有助於暴露這種分離。它提供了準確的有效負載、有關轉換的資訊註釋以及有關風險選擇的警告。因此,UI 可以說它添加了 `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 的掃描器可能會顯示完整字串,包括轉義字元和欄位標籤。這是相容性故障,而不是 QR 編碼損壞。當所需的操作比簡單地恢復位元組更重要時,請保留可讀的後備或測試確切的相機應用程式。

工作範例 — 手動編寫訪客 Wi-Fi 有效負載和聯絡人卡,產生兩者,然後使用兩部不同的手機進行掃描

建立訪客 SSID(例如 Café;Visitors)和包含冒號或反斜線的密碼,然後檢查轉義的 WIFI 字串。對於聯絡人,使用工具包的 vCard 欄位並比較有效負載; MECARD 故意省略,因為它沒有實現。

根據標點符號豐富的範例建立 Wi-Fi 卡和聯絡人卡,然後在支援的手機上對兩者進行解碼,並將結果值與有效負載預覽進行比較。此儲存庫的對抗性測試已透過解析器往返 Wi-Fi 欄位並驗證 vCard 分隔符號;裝置測試增加了單元測試無法代表的應用層。 MECARD 不應出現在比較中,因為該工具包從未創建它。

工作範例:建置 Wi-Fi 有效負載和 ToolAcre vCard,而不是不支援的 MECARD 程式碼

專有的深層連結、支付方案和其他特定於網域的格式不是由這些建構器產生的。 QR 編碼器可以對任意文字進行編碼,但這並不意味著 ToolAcre 會驗證外部方案或保證另一個應用程式會對其進行操作。

自訂付款或深層連結字串可以以純文字形式輸入,但這樣做會繞過特定於方案的驗證。 ToolAcre 將忠實地編碼格式錯誤的資料,就像編碼有效的任意文字一樣。支援的有效負載面板增加了價值,因為它們根據實施的規則進行轉義和警告。對於任何專有方案,請使用其當前的權威工具,而不是將通用位元組編碼視為一致性。

要点 — 准确輸入有效负载,QR 和条形碼工具包會在本地對其进行編碼,密碼永遠不會离開您的設備

選擇支援的有效負載面板,檢查產生的文字,並使用代表性手機進行測試。 Wi-Fi QR 碼將建置保持在本地,並處理最有可能破壞手寫網路憑證的轉義規則。

匯出前檢查:確認可見的原始值,閱讀每個警告並測試預期的操作。對於 Wi-Fi,請記住,任何拍攝代碼的人都會收到憑證;對於接觸式卡片,當建構者警告密度已增加時,請修剪長註釋。 QR 層保留準備好的字節,而正確的欄位選擇和安全分發仍然是發布者的責任。