話說智慧卡的檔案種類
話說智慧卡的檔案種類
按照ISO7816-4的定義,智慧卡的資料儲存也是按照檔案的方式進行的。這裡所說的資料多指可以通過終端進行訪問的資料,一些智慧卡的內部資料(不能通過終端進行訪問的)究竟採取什麼樣的儲存方式完全取決於智慧卡OS的設計者。
從大類來分,智慧卡的檔案型別分為專用檔案DF(Dedicated File)和基本檔案EF(Elementary File)。其中DF的作用類似於計算機系統中的目錄或者資料夾,而EF才是用來儲存資料的。
根據樹狀結構,一張卡片中必須有且僅有一個根目錄即:MF(Master File),也稱作主控檔案。其他所有的DF和EF都位於MF之下。MF是一個特殊的DF,在卡片復位後被預設選中,也就是說,當卡片復位之後即處於MF目錄下。
對於檔案的操作可以通過隱性選擇和顯性選擇兩種方式,其中顯性選擇就是通過Select File命令直接選擇,而隱性選擇則是通過讀寫檔案命令利用短檔案標識來指出具體訪問的是哪個檔案。
通常對於DF檔案只有通過顯性直接選擇的方式才能選中,而對於EF則即可以通過顯性選擇,也可以通過隱性選擇的方式來訪問。
每個DF和EF都有自己的檔案標識FID,FID用兩個位元組來表示,其中3F00是MF專用的標識,而FFFF是保留資料不能用作檔案標識。對於EF而言除了FID,還有短檔案標識SFI,通常為FID的後5位資料;對於DF而言除了FID之外還有DF名也可以用來選擇這個DF檔案。
在進行卡片應用資料定義時,通常把同一個應用的基本資料檔案都定義在某一個DF下,從而這個DF也可以被稱作應用專用檔案ADF(Application DF)。如果這個ADF處於另一個DF之下,那麼那個DF就叫做目錄DDF(Directory DF)。簡單來說,如果一個DF下面只有EF,那麼這個DF就可以稱作ADF,如果一個DF下面既有DF又有EF,那麼這個DF就可以稱作DDF。
作為基本檔案EF又可以分為:透明二進位制檔案和記錄檔案兩大類。透明二進位制檔案儲存的資料按照資料塊的方式進行訪問,可以通過偏移地址和讀寫長度來進行訪問。而記錄檔案則是按照一條一條的記錄來進行資料訪問的。記錄檔案還可以進一步細分為線性定長記錄、線性變長記錄和迴圈記錄三種格式。
線性定長記錄:每條記錄的長度都相同,在追加記錄時記錄號順序遞增;線性變長記錄:每條記錄的長度可以不同,在追加記錄時記錄號順序遞增;迴圈記錄:這是一個比較特殊的記錄檔案,每條記錄的長度相同,但是在追加記錄時記錄號並不是順序遞增的,而是和記錄的新增順序反向,即最後追加的記錄始終是第一號記錄,最早追加的記錄號最大。而且當新增的記錄達到檔案空間的極限之後,如果再繼續新增記錄的話,最早的記錄將會被最新的記錄所覆蓋。
對於透明二進位制檔案可以通過Read Binary和Update Binary兩條命令來訪問,而對於記錄檔案(不論什麼樣的記錄檔案)可以用Read Record和Update Record以及Append Record來訪問。
相關文章
- Linux中的檔案種類Linux
- ELF檔案的四種分類
- 淺說兩種輸出Oracle字元檔案的方法Oracle字元
- JVM(筆記)—— Class 類檔案結構的說明(二)JVM筆記
- 類檔案結構_class類檔案的的結構
- 話說智慧指標發展之路指標
- 簡單說說webpack的配置檔案Web
- 面試官:說說你知道的幾種負載均衡分類面試負載
- 檔案路徑類 字串的各種擷取方式,包括擷取到檔名字串
- 大白話說java併發工具類-Semaphore,ExchangerJava
- 大白話說java併發工具類-CountDownLatch,CyclicBarrierJavaCountDownLatch
- 儲存卡種類及其應用大盤點
- 【話題討論】說說公司災備專案的哪些事
- 人工智慧客服學不來的說話藝術人工智慧
- Nginx的配置檔案說明Nginx
- Docker 的配置檔案說明Docker
- Java —— 檔案類(File 類)Java
- 說說密碼檔案Passwordfile(一)密碼
- 說說密碼檔案Passwordfile(二)密碼
- 說說密碼檔案Passwordfile(三)密碼
- Infer - 檔案說明
- 檔案-spfile說明
- 檔案助手類
- sd卡刪除的檔案如何恢復SD卡
- 如果沒有Java 人類就像不會說話的嬰兒Java
- Linux的基本檔案說明Linux
- 【Docker】(10)---詳細說說 Dockerfile檔案Docker
- list集合、txt檔案對比的工具類和檔案讀寫工具類
- Java的特殊類用法:檔案類、內部類、本地類、匿名類Java
- fepk檔案格式說明
- "白話"PHP檔案包含漏洞PHP
- Javascript檔案對話方塊JavaScript
- 【Android APK】解析SD卡上的APK檔案AndroidAPKSD卡
- 如何從壞掉的SD卡恢復檔案SD卡
- dedecms主要類檔案
- 檔案操作類FileUtil
- django的初始化檔案說明Django
- web.xml檔案配置的說明WebXML