当前位置: 首页新闻资讯 技术资讯

CPU卡知识入门教程——第六章 对CPU卡中文件的操作

2023-08-24 15:17:09

我们有什么办法可以对文件操作呢?

 

比如我们要对个人基本信息文件pm.txt进行操作,在DOS下我们可以用EDIT pm.txt进行编辑,

 

在WINDOWS下我们可以双击pm.txt,用文本编辑器打开文件。

 

但在CPU卡中,我们怎么对一个文件(比如说EF1)进行操作呢?

 

比如说我们要打一个人,我们必须先找到那个将要倒霉被打的人。

 

同样,我们要对一个文件操作,首先,我们必须先找到要操作的那个文件。

 

那我们怎们找到CPU卡中的文件呢?

 

我们查找某人,可以查找他(她)的身份证号来找到他,CPU中卡的每个文件是否也有

 

他们的身份证号呢?

 

有的:那就是文件标识,CPU卡中的文件通过文件标识表标记一个文件。

 

找一个人,还可以通过他(她)的名字来查找,找CPU卡中的文件呢?很遗憾,

 

对MF和DF有关目录的文件有它们的文件名,其它文件则没有文件名。

 

< 文件标识符与文件名称>

 

文件标识符是文件的标识代码,用2个字节表示,为什么只有2个字节呢?因为2个字节足矣,2个字节

 

FFFF=65535。

 

在选择文件时只要找出该文件的标识,就可以找到该文件。同一目录下的文件标识符是唯一的。

 

MF的文件标识符为3F00,文件名自定义,符合银行规范名称应该是1PAY.SYS.DDF01,

 

当然了,社保的卡规定的就不是这个名字了。

 

所有文件可以通过文件标识符用SELECT命令进行选择,目录文件DF可以通过目录名称进行选择。

 

短文件标识符:

 

由于对CPU卡文件的操作要求节省空间并且方便操作。

 

于是好像便出现了短文件标识符这个东东。

 

所谓短文件标识符,在字面上的意思就是比文件标识符短。好像实际上也是这样。

 

大家看看,短文件标识符只用1个字节来表示,并且只用1个字节低五位来表示。

 

同一个目录下的文件短标识符必须是唯一的。

 

短文件标识符可以通过Read Binary、Update Binary命令的参数P1来实现文件的

 

选择:若P1的高三位为100,则低5位为短文件标识符。例如:若P1为81H,即10000001,

 

其中高三位为100,则所选的文件标识符为00001,十六进制文件标识表示为00 01。

 

短文件标识符选择还可以通过Read Record、Update Record命令参数P2来实现文件的选择,

 

方法是若P2的高五位不全为0,低五位为100,则高五位为短文件标识符。对于命令

 

Append Record低五位为000来表短文件标识符。

 

短文件标识符选择只能用五位来决定文件标识符,所以可选择的最大文件标识为31,

 

若文件需要短文件标识符进行选择,则建立文件时就需将文件标识符取在1-31之间。

 

< 文件的访问>

 

上一节中规定了那么多种文件,那么,究竟该怎么对那些文件进行访问呢?

 

MF:

 

在CPU卡被复位后自动被选择,在任何一级子目录下可通过文件标识3F00或其文件名来选择MF

 

DF

 

通过文件名或文件标识符来选择DF,在MF下可以选择任意DF。

 

如果当前文件是一个DF下的一个EF,同样可以通过选择DF的文件标识符或文件名来选择任意DF。

 

二进制文件:

 

在满足读条件时可使用Read Binary读取,在满足写条件时可用Update Binary来更改二进制文

 

件的内容。

 

定长记录文件:

 

在满足读条件时可使用Read Record读取,在满足写条件时,若记录未满则用Append Record增加

 

新记录,若记录已满则用Update Record来更改指定记录的内容。

 

循环定长记录文件:

 

在满足读条件时可使用Read Record读取,在满足追加条件时可使用Append Record在文件末尾追加

 

一个记录,当记录写满后自动覆盖最早写的记录,最后一次写入的记录,其记录号总是1,上次写入

 

的记录号是2,依次类推。

 

变长记录文件

 

在满足读条件时可使用Read Record读出记录,在满足写条件时若记录未满则用Append Record增加

 

新记录,若记录已满则用Update Record来更改指定记录的内容。变长记录文件的格式为TLV格式,

 

Tag为1字节的记录标识,L为1字节的记录数据长度,V为L字节的数据值。在执行Update Record更改

 

已存在的记录时,新写的整条记录长度必须和原来的整个记录长度相等,否则将返回错误。

关于峰华
深圳市峰华科技有限公司是一家以研制、开发、生产、经营超高频读写器,智能IC卡,RFID标签,嵌入式IC卡读写模块及桌面型IC卡读写器及相关IC卡读写机具为主的高科技企业。
最新文章

相关产品

页面导航

热门新闻