我试图使用Windows 8.1上的ProximityDevice类来编写/读取一些NFC标记。这是写标签的代码..。
var dataWriter = new Windows.Storage.Streams.DataWriter();
dataWriter.unicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.utf16LE;
dataWriter.writeString("test");
var pubId = proximityDevice.publishBinaryMessage
"Windows:WriteTag.Sample",
dataWriter.detachBuffer(),
proximityWriteTagMessageTransmitCallback);在写了这个看似成功的标签之后,我读了它。当我这样做时,接收到的数据只是字符串的第一个字符(在本例中为"t")。我使用NFC interactor检查了标记,它报告标记的可写大小为137字节,消息大小为17字节,因此空间似乎不是问题。
我还测试了与NFC启动它的标签,它工作得很好,所以我不知道问题在哪里。任何帮助都将不胜感激。
提前谢谢。
发布于 2014-06-25 02:08:34
我已经解决了这个问题。结果表明,将自定义文本写入标签需要UTF-8编码。我改变了..。
dataWriter.unicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.utf16LE;至
dataWriter.unicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.utf8;现在,数据被写入并可以正确地从标记中检索。
https://stackoverflow.com/questions/24356716
复制相似问题