我正在尝试使用NFC非接触式读卡器ACR122U Android SDK阅读Mifare Ultralight卡的内容.
我能够获得以下十六进制值
01 03 A0 0C 44 03 15 D1 01 11 54 02 65 6E 33 34
Run Code Online (Sandbox Code Playgroud)
但我无法获得我的实际数据.请指导我如何从上面的十六进制值中提取字节数组.
因此,您似乎从此MIFARE Ultralight标签上阅读了从第4页开始的4页.此外,标签似乎根据NFC论坛类型2标签操作规范(可从NFC论坛网站获得)格式化.
Type 2标记包含一系列标记长度值(TLV)结构:
01 (Tag: Lock Control TLV)
03 (Length: 3 bytes)
A0 0C 44 (Value: Information on position and function of lock bytes)
03 (Tag: NDEF Message TLV)
15 (Length: 21 bytes)
D101115402656E3334... (Value: NDEF message)
Run Code Online (Sandbox Code Playgroud)
您必须为接下来的4个页面发出读取命令以获取NDEF消息的剩余数据.
现在,我们知道,标签包含一个以NDEF开头的消息
D101115402656E3334
Run Code Online (Sandbox Code Playgroud)
这转化为
D1 (Header byte of record 1)
- Message begin is set (= first record of an NDEF message)
- Message end is set (= last record of an NDEF message)
- Short record flag is set (= Payload length field consists of 1 byte only)
- Type Name Format = 0x1 (= Type field contains an NFC Forum well-known type)
01 (Type length: 1 byte)
11 (Payload length: 17 bytes)
54 (Type: "T")
02656E3334... (Payload field)
Run Code Online (Sandbox Code Playgroud)
NFC论坛文本记录的有效负载字段解码如下:
02 (Status byte: Text is UTF-8 encoded, Language code has a length of 2 bytes)
656E (Language code: "en")
3334... (Text: "34"...)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |