我正在使用NFC构建一个使用RFID标签识别用户的应用程序。我可以正确阅读标签,没有问题。但是,当我使用“NFC TagInfo”应用程序时,我从Type V标签中收到了此ID:
e00401007539c2d3
当我自己阅读标签时,UID完全倒退:
d3c23975000104e0
V型标签的RF技术是 Type V(ISO / IEC 15693 / Vicinity)。我的代码似乎没有任何问题,因为其他标签( Type A(ISO / IEC 14443 Type A )工作正常。这就是我将byte[]
转换为{{1}的方法。 }:
String
ID的大小和格式特定于标签使用的RF技术。
我试图搜索有关如何阅读特定技术的UID的更多信息,但找不到任何信息。
更新 here我发现,这是根据文档。但是,这导致了一个问题,即如何使标签的RF技术用于触发正确的UID public static String tagFromByte(byte[] __tagId) {
String tagId = "";
for (byte b: __tagId) {
tagId += String.format("%02x", b);
}
return tagId;
}
实现?
答案 0 :(得分:0)
您正在记录从0到7的标记,而它应该是另一种方式。
tagId[0]
字节是最不重要的字节,因此最后一个字节。
记录如下:
for (int i = _tagId.length(); i > 0; --i) {
tagId += String.format("%02x", _tagId[i]);
}
答案 1 :(得分:0)