dBASE - File Header Structure (dBASE II)
Offset Size Description
00 byte dBASE version number 02h=dBASE II
01 word number of data records in file
03 byte month of last update
04 byte day of last update
05 byte year of last update
06 word size of each data record
08 512bytes field descriptors (see below)
520 byte 0Dh if all 32 field descriptors used; otherwise 00h
- dBASE II file header has a fixed size of 521 bytes
DBASE - File header structure (DBASE III)
Offset Size Description
00 byte dBASE vers num 03h=dBASE III w/o .DBT
83h=dBASE III w .DBT
01 byte year of last update
02 byte month of last update
03 byte day of last update
04 dword long int number of data records in file
08 word header structure length
10 word data record length
12 20bytes version 1.0 reserved data space
32-n 32bytes ea. field descriptors (see below)
n+1 byte 0dH field terminator.
- unlike dBASE II, dBASE III has a variable length header
dBASE - Field Descriptors
dBASE II Field Descriptors (header contains 32 FDs)
Offset Size Description
00 11bytes null terminated field name string, 0Dh as first
byte indicates end of FDs
11 byte data type, Char/Num/Logical (C,N,L)
12 byte field length
13 word field data address, (set in memory)
15 byte number of decimal places
dBASE III Field Descriptors (FD count varies):
Offset Size Description
00 11bytes null terminated field name string
11 byte data type, Char/Num/Logical/Date/Memo
12 dword long int field data address, (set in memory)
16 byte field length
17 byte number of decimal places
18 14bytes version 1.00 reserved data area