CoreNFC文本消息仅产生双字节字符?

我已成功连接(读取和写入)NDEF标签。该标签是原型板上的NXP电子标签,我可以使用I2C协议读取该标签。我仅在处理纯文本消息。

尽管成功写入标签,但仅生成双字节字符文本。创建短信的方法是:

guard let testRecord = NFCNDEFPayload.wellKnownTypeTextPayload(
  string: String(describing: "blah blah".cString(using: String.Encoding.utf8)),locale: .current)
else { return }

并通过以下方式写入标签:

let myMessage = NFCNDEFMessage.init(records: [testRecord])
tag.writeNDEF(myMessage)

数据到达标签,但被编码为2个字节(看起来如此)。具体来说,字符串“ blah blah”中的每个字符都以\ x00开头,从而导致\x00 \b \x00 \l \x00 \a等。

我认为,如果仅使用ASCII集中的字符,.utf8编码将降至标准ASCII(单字节)。

如何确保NDEF消息使用单个字符ASCII编码?

iCMS 回答:CoreNFC文本消息仅产生双字节字符?

对于在此着陆的任何人,简短的答案是:是的,NFCNDEFPayload.wellKnownTypeTextPayload()仅将字符串编码为utf16(很好的工作,记录了这个Apple!)。为了解决这个问题,您需要通过构造自己的有效负载来深入研究。看看这个答案:NFC NDEF writing on IOS Encoding

本文链接:https://www.f2er.com/2232828.html

大家都在问