我如何在windows上读取ndef消息的有效载荷

本文关键字:消息 有效 ndef 读取 windows | 更新日期: 2023-09-27 18:16:17

如何在windows 8上获得NDEF消息的有效载荷?

我已订阅接收T类型的消息(短信):

MessageType = MyProximeDevice.SubscribeForMessage("NDEF:wkt.T", MessageReceivedHandler); 

在我的messageHandler我已经实现了它:

String Message = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf16LE,message.Data);

但是,当我收到一条消息时,她显示为日本人(或中国人?)u.u)辛博尔。

你能帮我吗?

(抱歉我的英语不好:p)

我如何在windows上读取ndef消息的有效载荷

这个算法解决了我的问题:

 private void MessageReceivedHandler(ProximityDevice sender, ProximityMessage message)
        {
            try
            {
                IBuffer data = message.Data;
                String strHex = CryptographicBuffer.EncodeToHexString(data);
                StringBuilder sb = new StringBuilder();
                for (int i = 14; i <= strHex.Length - 2; i += 2)
                {
                    sb.Append(Convert.ToString(Convert.ToChar(Int32.Parse(strHex.Substring(i, 2), System.Globalization.NumberStyles.HexNumber))));
                }
                MensagemRecebida = sb.ToString();
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.StackTrace);
            }
        }