苹果 IOS 早期版本 NDEF的读写问题 C#

1 篇文章 0 订阅

1、首先C#的NDEF的库安卓:

https://mp.csdn.net/postedit/91383417

 

2、然后在封装NDEF的前面数据前面还有加一堆数据,TAG类型

  block_data[0] = 0xE1;
 block_data[1] = 0x40;
block_data[2] = 0x0E;
 block_data[3] = 0x01;
 block_data[4] = 0x03;
block_data[5] = NDEF包的长度

参考这篇文章 https://oomake.com/question/3675861

=========================================

Windows Phone 8应用程序只能访问非常高级别的库,并且无法读取非NDEF格式的标签。 MIFARE UL标签必须使用NFC论坛NDEF Type 2标准,由于标签的48字节用户内存很小,因此标准简单。 如果您有一个低级别的读写器,您可以在不修改大部分数据的情况下使您的UL标签符合NDEF标准,但您需要牺牲:

  • 第3页的所有4字节OTP内存(对于NDEF能力容器)

  • 用户可编程存储器的前6个字节(最少6个,可能需要填充到8以便干净地填充前两页)。

标签的格式如下:(参考 - www.nfc-forum.org/specs/spec_list/#tagtypes)

  • 第3页,BYTES 0-3:CC [MAGIC NUMBER,VERSION,USER MEM SIZE,READ / WRITE]

  • 第4页,BYTES 0-1:NDEF MESSAGE TLV HEADER [类型,长度](推荐类型为ExternalRtd)

  • 第4页,BYTES 2-3:RECORD DESCRIPTOR(包含一个指定记录类型的字符串,建议将其保留1个字节以节省空间,或者3个字节长以进行整齐填充)

  • 第5页,BYTES 0-1或3:记录描述符

  • REST OF PAGES / BYTES是记录/数据

示例:Tag的消息类型为ExternalRtd,记录类型为“abc”(记录类型在技术上应该是“urn:nfc:ext:companyname.com:typename”格式,完全符合NDEF标准,但我们负担不起那么多空间) [页号,字节号],价值,评论

  • [3,0],0xE1,幻数

  • [3,1],0x10,NDEF版本号,主要版本1,次要版本0。

  • [3,2],0x06,标签的用户内存大小/ 8.在这种情况下为6,因为6 * 8 = 48

  • [3,3],0x00,允许读/写。 0x00 =允许写入,0x0F =只读

  • [4,0],0x03,TLV中的T,类型。在这种情况下,是NDEF消息。

  • [4,1],0x2E,TLV中的L,长度。在这种情况下,标记的其余部分为46个字节。

  • [4,2],0xD4,记录MB_ME_CF_SR_IL_TNF。在这种情况下,11010100(是第一条记录,是最后一条记录,不是块,是短消息,标题中没有id,是“外部类型”类型)

  • [4,3],0x03,记录类型长度。在这种情况下3(类型“abc”是3长)

  • [5,0],0x28,Payload Length,标签的其余部分。在这种情况下40。

  • [5,1],0x61,类型的第一个字节,0x61 = 97 ='a'

  • [5,2],0x61,类型的第二个字节,0x62 = 98 ='b'

  • [5,3],0x61,类型的第三个字节,0x63 = 99 ='c'

  • 标记的剩余40个字节(第6到11页)是您的有效负载。

如果您只想初始化标签以便手机可以读取它并完成其余的操作,只需写入CC,并且只有TL为零且不为V的TLV。(4,0 = 0x03和4,1 = 0x00 )。

3 下载DEMO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值