【问题标题】:How to interpret this nfc ndef payload used in libfreefare example?如何解释 libfreefare 示例中使用的这个 nfc ndef 有效负载?
【发布时间】:2019-07-23 08:50:49
【问题描述】:

我正在尝试使用 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

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

scriptable:///run?scriptName=Clocking

【问题讨论】:

  • 欢迎来到 SO。您是想用 C 程序解码消息还是只想了解它的含义?
  • 我想明白这是什么意思。基本上,如何用 NDEF 格式映射这些十六进制值?例如,0x03 是带有 http:// 的 URI
  • 在这种情况下,我认为您的问题与 C 或特定的 NCF 库无关。相反,它更多的是关于 NFC 规范的问题。您最好搜索规范。

标签: c lib-nfc


【解决方案1】:
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'

【讨论】:

  • 欢迎来到 Stack Overflow!虽然您的回答可能会解决问题,但 including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。您可以编辑您的答案以添加解释并指出适用的限制和假设。 - From Review
猜你喜欢
  • 2013-09-10
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多