gpt4 book ai didi

android - 如何编码 NDEF 消息

转载 作者:行者123 更新时间:2023-11-29 20:59:09 25 4
gpt4 key购买 nike

这是我第一次使用基于 NFC 的功能。我遇到了有关编码 NDEF 消息的问题。

我们尝试了 2 个应用程序将数据写入 NFC 标签,名称是 NDEF 和 TagWriter。我正在将我的数据写入文本格式。这就是我的数据

{name:myTag,tagDetails:{name:"myOrganization",addess:"xxxxx"}}

据我所知,这两个应用程序都在编码并将数据注入(inject)标签。问题出在读取时间上。

读取标签后,我将字节转换为字符串,如 nfcEvent.tag.ndefMessage[0].payload

NDEF App 写入的标签是什么,在将我写入标签的确切数据转换后。TagWritter 的问题,转换此标签数据后,它会以这种格式出现。

 "en"{name:myTag,tagDetails:{name:"myOrganization",addess:"xxxxx"}}""

关于这一点,我做了一些研究,我发现 TagWritter App 将数据转换为 UTF-8 格式。

我认为正因为如此,它正在发生。可能是我错了。

我该如何解决这个问题。

注意:我正在使用 Apache cordova 构建 android 应用程序。

谢谢。

最佳答案

如果您在数据前看到类似“en”(实际上是非特权字符 + 语言代码)的内容,这表明您的标签编写器应用程序将文本字符串放入 NFC 论坛文本记录中(您可以获取来自 NFC Forum's website 的规范)。

记录由一个状态字节、一个语言代码(US-ASCII)和后面的实际文本组成。状态字节的高位 (b7) 指示文本是以 UTF-8 (b7 = 0) 还是 UTF-16 (b7 = 1) 编码的。低 6 位 (b5..0) 表示语言代码的字节长度。

因此只要语言代码是 2 个字节,您修剪前三个字节的解决方案就可以工作。

但是,NFC 论坛文本记录类型专门用于人类可读的文本,您应该避免使用它来存储 JSON 对象。最好使用 NFC 论坛外部类型记录(或自定义 MIME 类型记录)来存储您的数据。

关于android - 如何编码 NDEF 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26697580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com