URI
URI(Uniform Resource Identifier)是用来唯一标识互联网上的资源、或者某个抽象概念的字符串。URL(Uniform Resource Locator)是 URI 的一种,指出资源所在的「位置」。https://example.com/page 既是 URL 也是 URI。另一方面,像 urn:isbn:9784000000000 这样不靠位置、而靠「名字」来标识的 URN,同样属于 URI。
二维码里存的数据,多数是 URI 形式。指向网站的链接(https://...)、写邮件(mailto:...)、拨电话(tel:...)、连 Wi-Fi(WIFI:...)、TOTP 验证(otpauth://...)、显示地图(geo:...)等,扫码之后设备做出什么动作,是由方案名(开头 https: 或 tel: 那一段)决定的。
生成二维码时,URI 怎么写是要花心思的。举个例子,同一个电话号码,写成 tel:+81-3-1234-5678 和写成 tel:0312345678,在国际通用性上并不一样。要存 vCard 数据时,还得用 URI 编码(百分号编码)才能把日文姓名正确地表达出来。
GS1 数字链接是把商品识别码(GTIN)用 URI 形式(https://id.gs1.org/01/...)表达出来的一项规范。过去只是一串数字的商品编码变成 URI 之后,扫一下就能取到网上的产品信息。URI 把二维码的「内容」结构化了,是一种告诉设备该做什么动作的共同语言。