工具
- 字节码:UltraEdit
- DBF工具:DBF Viewer Plus
DBF 文件结构
DBF 文件由 文件头(Header) 和 数据记录(Records) 组成。
首先下载一个DBF文件
使用UE调整为菜单-高级-设置-编辑器-十六进制模式
头部和字段部分均为32个字节
- 蓝色为heaher信息
- 绿色为field信息
- 红色为内容信息
- 橙黄色为分隔符
DBF 文件头(Header)
2、4字节数据都为小端读取
偏移 (字节) | 长度 (字节) | 描述 |
---|---|---|
0 | 1 | 文件标识(版本号) |
1-3 | 3 | 最后更新时间(年、月、日) |
4-7 | 4 | 记录数 |
8-9 | 2 | 头部长度(bytes) |
10-11 | 2 | 记录长度(bytes) |
12-13 | 2 | 保留(一般为 0) |
14-15 | 2 | 保留(一般为 0) |
16-27 | 12 | 预留字段 |
28 | 1 | 表标志(如 dBASE IV 时区信息) |
29-31 | 3 | 代码页标识 |
32-N | 可变 | 字段描述符(每个字段 32 字节) |
N+1 | 1 | 0x0D(字段描述符结束标志) |
N+2-N+264 | 可选 | dBASE IV 备注字段(可选) |
字段描述(Field Descriptor)
偏移 (字节) | 长度 (字节) | 描述 |
---|---|---|
0-10 | 11 | 字段名称(以 \0 结尾) |
11 | 1 | 字段类型(C=字符, N=数值, L=逻辑, D=日期, M=备注) |
12-15 | 4 | 数据偏移 |
16 | 1 | 字段长度 |
17 | 1 | 小数位数(适用于数值型) |
18-19 | 2 | 预留 |
20 | 1 | 工作区 ID(dBASE IV 及以后) |
21-31 | 11 | 预留 |
32 | 1 | 0x0D(表示字段描述符结束) |
数据记录(Records)
偏移量 | 大小 (字节) | 内容 | 说明 |
---|---|---|---|
0x00 | 1 | 记录删除标志 | 0x20(空格)表示有效,0x2A(* )表示已删除 |
0x01 | N | 字段值 | 按照字段描述表的格式排列 |
结束符(变长数据)
字节 | ASCII | 描述 |
---|---|---|
0x0D | CR 回车 | 表明字段定义结束 |
0x1A | EOF 结束 | 用于标识文件结束 |