识别nfc卡上使用的是什么技术?

Recognize which technology is used on a nfc card?

我有一张支持多种技术的NFC卡。 (例如 NfcA、MifareClassic、ISOdep)。我想了解使用了哪些技术来写入标签。 这些技术是独立的吗?我的意思是我可以使用 mifareclassic 写入一些数据并使用 NfcA(或 ISOdep)读取该数据吗? 还是这些技术各有各的记忆?

最近几天我阅读了很多关于这个主题的内容,但没有找到好的参考资料。 我自己也做了一些测试。我写了一个 android 应用程序来将 NdefMessage 写入标签。并且在使用MifareClassic API转储内存时找到了相应的数据字节。

我查看了 MifareClassic 库中的代码,发现所有相关函数(例如 readblock、writeblock)都创建了一个字节数组并将其传递给 transceive()。在 android 文档中提到调用 MifareClassic.transceive 与调用 NfcA.transceive.

相同

有点讽刺,因为在NfcA文档中提到NfcA和MifareClassic不一样,它们有不同的传输协议。

我意识到的另一件事是 Ndef 本身并不是一个协议。它是存储数据的标准格式。显然 Ndef class 对不同的标签有不同的实现。在 MifareClassic 标签上,如果标签使用默认键,您只能使用 Ndef class 向其写入数据。否则您将无法写入标签。