您能告诉我NDEF(NFC数据交换格式)和APDU(应用协议(protocol)数据单元)之间有什么区别。
我已经开发了一个可读取NDEF消息的Android应用程序,我想知道它是否也适用于APDU数据。
最佳答案
NFC数据交换格式(NDEF)
NDEF是一种包装器格式,它允许您将数据有效负载与元信息(例如,数据类型标识)打包在一起,并允许将多个这样的包(所谓的“记录”)组合为一个可以存储的“消息”在NFC标签上传输,并通过NFC链接进行传输。
NDEF本身并未定义,即应如何在NFC设备之间交换此类数据(消息)(即,它未定义通信协议(protocol)和读取或存储此类数据的命令)。
应用协议(protocol)数据单元(APDU)
APDU是用于与智能卡通信的命令和响应数据包。命令APDU由指令代码和相关的参数数据组成。谐振APDU由响应数据和响应状态代码(响应于先前的命令APDU)组成。
有什么不同?
NDEF是数据容器,用于在NFC标签上存储结构化数据,并通过点对点链路传输此类数据,而APDU是智能卡通信协议(protocol)的命令和响应。
APDU和NDEF有某种联系吗?
对于NFC论坛类型4标签,APDU命令(如READ BINARY和STORE BINARY)用于读取NDEF数据并将其存储到该标签类型的文件中。其他NFC论坛标签类型不依赖APDU,而是使用其他命令集。