DBF的文件格式:
????
BDF文件頭的詳細格式:
?
在文件中的位置 | 內容 | 說明 |
0 | 1個字節 | 表示當前的版本信息 |
1-3 | 3個字節 | 表示最近的更新日期,按照YYMMDD格式。 |
4-7 | 1個32位數 | 文件中的記錄條數。 |
8-9 | 1個16位數 | 文件頭中的字節數。 |
10-11 | 1個16位數 | 一條記錄中的字節長度。 |
12-13 | 2個字節 | 保留字節,用于以后添加新的說明性信息時使用,這里用0來填寫。 |
14 | 1個字節 | 表示未完成的操作。 |
15 | 1個字節 | dBASE IV編密碼標記。 |
16-27 | 12個字節 | 保留字節,用于多用戶處理時使用。 |
28 | 1個字節 | DBF文件的MDX標識。在創建一個DBF 表時 ,如果使用了MDX 格式的索引文件,那么 DBF 表的表頭中的這個字節就自動被設置了一個標志,當你下次試圖重新打開這個DBF表的時候,數據引擎會自動識別這個標志,如果此標志為真,則數據引擎將試圖打開相應的MDX 文件。 |
29 | 1個字節 | Language driver ID. |
30-31 | 2個字節 | 保留字節,用于以后添加新的說明性信息時使用,這里用0來填寫。 |
32-X | (n*32)個字節 | 記錄項信息描述數組。n表示記錄項的個數。這個數組的結構在表2.8中有詳細的解釋。 |
X+1 | 1個字節 | 作為記錄項終止標識。 |
DBF文件頭中記錄項的詳細格式:
?
位置 | 內容 | 說明 |
0-10 | 11個字節 | 記錄項名稱,是ASCII碼值。 |
11 | 1個字節 | 記錄項的數據類型,是ASCII碼值。(B、C、D、G、L、M和N,具體的解釋見表2.9)。 |
12-15 | 4個字節 | 保留字節,用于以后添加新的說明性信息時使用,這里用0來填寫。 |
16 | 1個字節 | 記錄項長度,二進制型。 |
17 | 1個字節 | 記錄項的精度,二進制型。 |
18-19 | 2個字節 | 保留字節,用于以后添加新的說明性信息時使用,這里用0來填寫。 |
20 | 1個字節 | 工作區ID。 |
21-30 | 10個字節 | 保留字節,用于以后添加新的說明性信息時使用,這里用0來填寫。 |
31 | 1個字節 | MDX標識。如果存在一個MDX 格式的索引文件,那么這個記錄項為真,否則為空。 |
? DBF文件中的數據類型:
代碼 | 數據類型 | 允許輸入的數據 |
B | 二進制型 | 各種字符。 |
C | 字符型 | 各種字符。 |
D | 日期型 | 用于區分年、月、日的數字和一個字符,內部存儲按照YYYYMMDD格式。 |
G | (General or OLE) | 各種字符。 |
N | 數值型(Numeric) | - . 0 1 2 3 4 5 6 7 8 9 |
L | 邏輯型(Logical) | ? Y y N n T t F f (? 表示沒有初始化)。 |
M | (Memo) | 各種字符。 |
舉例說明:
假如文件中有10條記錄,每個記錄有4個字段,4個字段的長度分別為:12、14、16、18,那么文件的詳細格式如下:
文件頭占32+32*4+2個字節:
前32個字節是文件頭中的基本信息,32*4個字節是記錄項(即字段的定義信息),最后兩個字節分別是16進制的0D 和20,0D代表上文表格中說明的記錄項終止標識。20代表一個空格。
數據信息占(12+14+16+18)*10+1個字節:
12+14+16+18個字節代表一條記錄,共10條記錄。最后一個字節是數據的終止表示通常是16進制表示的1A
補充說明:
由于上述文件格式的定義,決定了字段名稱不能超過11個字節(或者5個中文字符),字符類型的字段,數據最大不能超過255個字節。在從文本、Excel、大型數據庫導出數據到DBF格式文件時,一定要考慮到這些長度限制。?
posted on 2007-12-14 11:34
Kevin Jiang 閱讀(15608)
評論(6) 編輯 收藏 所屬分類:
暫不分類