文本和日常工具·二维码和条形码工具包
手机如何决定 QR 码的含义:URL、WIFI:、mailto: 和 tel:
· 工作原理
二维码 编码 隐私
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 层保留准备好的字节,而正确的字段选择和安全分发仍然是发布者的责任。