nfc - NXP Mifare NTAG213 中的异常块 4,带有文本 NDEF 编码
问题描述
我有一个带有 NDEF 文本编码的 NFC 标签(标签类型 NTAG213,NXP Mifare Ultralight),由于不熟悉的块 4,我的代码无法解码。
我在 ID 卡中有相同的芯片,使用与标签不同的方式进行编码,并且可以读取。
我的 Android 使用 NfcTools 应用程序可以正确读取标签和身份证
标签未解码(编码文本为“2A0001”)
[04: 0103a00c] [05: 34 03 0bd1] [06: 01075400] [07: 32413030] f8 00
块 04 的 [01...] 内容是什么,溢出到块 5
“ 03 ....” NDEF 开始在第 5 块中间,为什么?
身份证解码OK(编码文本为“200001”)
[ 04:03 0bd101][05: 07540032 ][06:30303030][07:31fe0000]8e 00
块 4 中的“ 03 ....”表示 NDEF 消息
解决方案
在被 NFC 论坛称为“Type 2”的 MFU 标签上,您应该首先获取块 3(称为“CC”),在那里您将获得有关编码和版本的信息。
然后块 4+ 包含 TLV(类型、1 字节、长度、1 字节、值、长度字节)。
在第一个示例中,在包含 NDEF 记录的实际 NDEF TLV 之前有一个类型 1 TLV,长度为 3 个字节,值为“a00c34”。
您应该从 NFC 论坛获得文档“ NFC Forum Type 2 Tag Operation Specification ”。CC 在第 6.1 节中解释,TLV 格式在 2.3 中。
推荐阅读
- r - 如何使用 purrr::map (不被迭代)附加参数?
- react-native - ./gradle bundlerelease 不生成 aab
- python - 使用 python 3.8.3 64bit 未解决的导入“Board”
- tensorflow - 如何在地图函数中访问张量形状
- c++ - C++ WinAPI - 从文件中读取和转换值
- python - 获取 json 解码器错误。但我无法弄清楚错误是什么?
- javascript - useEffect 在进行 firestore 调用时覆盖状态而不是附加值
- android - “Android R”getPackageInfo("mypackage",0) 正在抛出 PackageManager.NameNotFoundException
- conditional-operator - 三元运算符 - 练习。我没明白,计数机制是如何工作的 - 需要详细解释
- python - 尝试创建 sqlalchemy 数据库时出现 python 语法错误