c - 如何解释 libfreefare 示例中使用的 nfc ndef 有效负载



我正在尝试使用libfreefare示例代码编写编码的ndef消息。想知道如何解释以下十六进制代码。 我已经收集了一些关于 NDEF 格式的知识,但这些知识对于翻译下面提到的 NDEF 十六进制消息几乎没有帮助。我只是按照示例程序并尝试使用我的程序更改默认值。以下代码代表什么?

请参考 : https://github.com/nfc-tools/libfreefare/blob/master/examples/mifare-classic-write-ndef.c

我已经尝试使用在线转换器将十六进制值转换为 ASCII。我可以看到文本内容,但我很想知道文本之间十六进制值的含义。

const uint8_t ndef_default_msg[33] = {
    0xd1, 0x02, 0x1c, 0x53, 0x70, 0x91, 0x01, 0x09,
    0x54, 0x02, 0x65, 0x6e, 0x4c, 0x69, 0x62, 0x6e,
    0x66, 0x63, 0x51, 0x01, 0x0b, 0x55, 0x03, 0x6c,
    0x69, 0x62, 0x6e, 0x66, 0x63, 0x2e, 0x6f, 0x72,
    0x67
};

https://www.rapidtables.com/convert/number/ascii-hex-bin-dec-converter.html

我想为下面的网址构造一个通用的 URI NDEF 十六进制值。

scriptable:///run?scriptName=Clocking

0xD1,   // MB/ME/CF/1/IL/TNF    Type Name Format
0x01,   // TYPE LENGTH
0x0A,   // PAYLOAD LENTGH    status(1)+language(2)+string(4)  
'U',    // TYPE (text)    'U' uri  
0x02,   // Status
//'e', '

n',//语言

'g', 'o', 'o', 'l', 'e', '.','c','a'

最新更新