【转自】http://blog.sina.com.cn/s/blog_9ed067ad0101295n.html

无论什么样的智能卡,不管是接触式的还是非接触式的,存储数据都是一个必须具备的功能。即使是只有一个5字节卡号的ID64格式的卡片也不例外,只不过卡里面的内容在出厂时就被厂家写死了,用户只能读出而不能写入或改变其内容罢了。

数据在存储介质中的存储格式往往和存储介质的容量有很大关系。容量小的存储器如E2PROM,一般以二进制的位(bit)或字节(byte)为单位;容量大的存储介质如硬盘、U盘,一般以文件的形式存储数据,文件有各种类型,文件大小只要别超过物理存储总量,几乎不受限制。

射频卡通常面向特定的应用,容量较小,所以很少像硬盘或U盘那样数据以格式和大小都不受限制的文件存储,同时多数射频卡也不以位(bit)或字节(byte)为单位执行读写操作,可能是因为射频卡的数据通过无线传输,数据传输时要调制、解调,并且要加上帧头、帧尾、同步、校验,传的字节数太少了效率太低。

射频卡中的数据一般以页(Page)、块(Block)或特定文件(File)的形式存储。

页一般包括4个字节,比如Mifare Ultralight、Hitag-1、Hitag-2、Hitag-s、ICODE2都是以4个字节为1页,每次读写以4个字节(1页)为单位;

块通常比页大,象Mifare1 S50、S70、FELICA就是以块为读写单位,一个数据块包含16字节;

容量更大的射频卡中一般以文件的形式存储数据,例如Mifare Desfire以及多数CPU卡,当然这里所谓的文件其大小和类型都受到严格限制。

智能卡(包括接触式卡和非接触式卡)中的文件一般有以下4种:

1.透明二进制文件:这是最简单也是最基础的智能卡文件,文件大小可变,写入和读出的数据多少也可变,文件里的内容被看做透明的二进制数据流,没有特定的格式;

2.线性定长记录文件:文件被分为若干个等长的区段,每个区段对应一个记录,读和写以整条的记录为单位,用记录号来识别区分每条记录;

3.线性变长记录文件:文件也是以记录为单位进行组织,但各条记录的大小可以不同,读和写以整条的记录为单位,也是用记录号来识别区分每条记录。记录的长度虽然可变,但一旦写完,后来更新的时候新记录的长度必须和原来记录的长度相同;

4.循环定长记录文件;文件以等长的记录来组织存储,与线性定长记录文件不同的是,文件里的记录数是固定的,所有记录写满了后,继续向文件里写记录将覆盖最早添加的记录。每条记录的记录号也不是固定的,最新写入记录的记录号总是1,上一次写入记录的记录号是2,依次类推。

射频识别技术漫谈(17)——射频卡中数据的存储形式相关推荐

  1. 射频识别技术漫谈(29)——射频接口芯片TRF7960

    [转自]http://blog.sina.com.cn/s/blog_9ed067ad0101fdhv.html TRF7960系列是TI推出的载波为13.56MHz.支持ISO15693.ISO14 ...

  2. 射频识别技术漫谈(27)——CPU卡概述

    [转自]http://blog.sina.com.cn/s/blog_9ed067ad01018h0z.html 智能卡按安全级别可以分为三类:存储器卡.逻辑加密卡和CPU卡,其中CPU卡是安全级别最 ...

  3. 射频识别技术漫谈(6-10)

    射频识别技术漫谈(6)--通讯协议概述 通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是 ...

  4. opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类

    opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...

  5. datasg中数据的存储结构

    datasg中数据的存储结构 转载于:https://www.cnblogs.com/LoveFishC/archive/2012/07/27/3845623.html

  6. UDS中数据的存储(FLASH/EEPROM/RAM)

    返回UDS系列讲解总目录 UDS中数据的存储是一个容易混淆但又非常重要的点,下面我们就来简单捋一捋. ECU中用到的存储芯片通常有三种:FLASH,RAM,EEPROM. FLASH一次写入,掉电数据 ...

  7. 关于c语言中数据的存储

    数据的存储首先就要说到数据的类型,类型决定了看待内存空间的视角. c语言的数据类型分为内置类型和外置类型 1.内置类型 (1)整型 char(字符型).short(短整型).int(整型).long( ...

  8. Matlab中数据的存储方式

    简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...

  9. OpenGL, GLSL, DirectX, HLSL中的矩阵存储形式

    (原文地址:http://alvincc-tech.blogspot.com/2010/10/opengl-glsl-directx-hlsl.html) OpenGL, GLSL, DirectX, ...

  10. 射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计

    [转自]http://blog.sina.com.cn/s/blog_9ed067ad0101dupi.html 电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFI ...

最新文章

  1. R线性回归模型构建示例
  2. POJ 3207 Ikki's Story IV - Panda's Trick (POJ 六道2-SAT之一)
  3. eclipse中java文件报错:The type java.lang.Object cannot be resolved. It is indirectly referenced from r
  4. JAVA 中字符串的截取,要求不能截取半个汉字
  5. 那些年我用过的SAP IDE 1
  6. 关于解决织梦文档栏目删除后ID 从1开始的方法
  7. Django module学习之模板
  8. 韩国财长:韩国将按计划推进加密货币征税
  9. BZOJ 1296: [SCOI2009]粉刷匠( dp )
  10. Java 能抵挡住 JavaScript 的进攻吗?
  11. Yolov2 训练时anchor是如何使用的?build_target
  12. linux tomcat重启 报错,Linux启动Tomcat或停止Tomcat的错误解决方案
  13. 微信公众号开发 ----微信获取access_token(2)
  14. 安装semantic-text-similarity
  15. win10调整计算机字体大小,主编教您win10下怎么调整字体大小
  16. studioone机架效果模板_贾爽:带你认识StudioOne机架自带效果链的音效处理插件
  17. swfupload 无法加载_SwfUpload在IE10上不出现上传按钮的解决方法
  18. IOS8 keyboardWillShow 在UIKeyboardWillShowNotification 调用两次 问题解决
  19. 苹果笔记本电脑如何清理缓存内存空间?
  20. 样本方差为什么要除n-1,而不是n

热门文章

  1. 某知名系统漏洞挖掘与利用思路探索
  2. MovieLens推荐系统数据集官方文档+解释
  3. bcm94352屏蔽第20针脚图_iOS13屏蔽系统更新教程-【转载】
  4. MkDocs项目文档生成器(一)
  5. 设计模式 - 建造者模式
  6. C-LODOP打印插件使用
  7. html菜鸟教程选项卡,jQuery EasyUI 布局插件 – Tabs 标签页/选项卡 | 菜鸟教程
  8. Ajax入门教程(内附源码实例)
  9. 希腊数字matlab,latex 希腊数字
  10. deepinv2 添加打印机_Deepin系统上安装使用HP惠普打印机的方法