首页 > 解决方案 > 了解 NDEF 记录格式

问题描述

我已经将 NDEF 文本记录 - “便便”(只是测试)写入 NFC 论坛类型 2 标签,我需要一些帮助来理解究竟写了什么,以及以什么格式。发送到标签的命令包含四个数组:

new Uint8Array([162, 4, 3, 10, 209, 1]).buffer                                                           
new Uint8Array([162, 5, 6, 84, 2, 101]).buffer                                                           
new Uint8Array([162, 6, 110, 112, 111, 111]).buffer  <-- 112, 111, 111 is ASCII for "poo"                                                 
new Uint8Array([162, 7, 254, 0, 0, 48]).buffer 

我知道每个数组的第一个字节(162)是“写”命令。每个数组的第二个字节(4、5、6、7)是整个标签数据中的索引,用于放置后面的字节。它从 4 开始,因为前 16 个字节已经被写入,并且包含有关标签的元数据。我也明白112、111、111是我存储的文本。

所以我的问题是:前两个和最后一个数组的目的是什么?

我无法理解它们包含哪些数据。这是我的 NFC 标签的最终内容(我已经从最后截断了所有的零)

new Uint8Array([95, 222, 208, 217, 54, 218, 237, 38, 39, 3, 0, 0, 225, 17, 96, 0, 3, 10, 209, 1, 6, 84, 2, 101, 110, 112, 111, 111, 254, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...])

如您所见,前 16 个字节是在创建时写入的;定义标签。接下来是上面的 4 个数组。我目前的理解来自这里,它解释了有效载荷带有元数据来解释它是什么数据类型等,但是有效载荷前面有两个数组,后面有一个,我不明白。

标签: javascriptnfcndef

解决方案


它是 NDEF 元数据:

结构体

您可以将数据与上面的每个字段进行匹配。


推荐阅读