sharpfile文件和C#解析(dbf文件格式说明)

 一、头文件信息区

(1)头文件结构

说明:文件头共32个字节,具体内容如下

开始字节

字节数

说明

0

1

文件类型,具体说明见下表

1-3

3

文件最后修改日期,格式(YYMDD)

4-7

4

记录总数

8-9

2

文件头长度(包含文件头信息区以及字段描述区2部分的长度+1字节结束符(0xOD))

10-11

2

记录长度(一条记录中的字节长度。值应该是一条记录中所有字段的长度之和再加上1个字节)

21-31

20

系统保留

 (2)文件类型

编码

说明

0x02

FoxBASE

0x03

FoxBASE+/dBASE III PLUS,无备注  

0x30

Visual   FoxPro

0x43

dBASE IV  SQL   表文件,无备注

0x63

dBASE   IV   SQL   系统文件,无备注    

0x83

FoxBASE+/dBASE   III   PLUS,有备注 

0x8B

dBASE   IV   有备注 

0xCB

dBASE   IV   SQL   表文件,有备注

0xF5

FoxPro   2.x(或更早版本)有备注 

 二、字段描述信息区

(1)、字段结构

字段描述区中每个字段占32位,只描述去最后已结束符0x0d结尾。

序号

字节数

说明

0-9

10

字段名称

10

1

系统保留,默认为0,可以做为字符串结束标志。

11

1

字段类型,见下表

12-15

4

系统保留,默认为0

16

1

字段长度

17

1

小数位数

18-31

系统保留

如:一张表有5个字段,则字段描述区的长度为32*5+1=161,在结束区后为数据区的内容。

(2)、字段类型

代码

数据类型

允许输入符号

C

Character

Y

Currency

N

Numeric

F

Float

D

Date

T

DateTime

B

Double

I

Integer

L

Logical

M

Memo

 三、数据内容区

在数据区中保存着所有的数据内容,每条记录之间用空位符(0x20)分割,记录数量可以从文件头信息区中获取。

在DBF中内容占位符为0x20或0x00,在进行内容读取时需对占位符进行剔除。

例如:

 OBJECTID字段,字段长度10,字段值为1

数据区保存格式为:20 20 20 20 20 20 20 20 20 31。

作用

字节数

内容

描述

占位符

1

0x20或0x2A

0x20正常,0x2A已删除

字段1内容

字段长度

ASCII码

字段2内容

字段长度

ASCII码

。。。。

字段长度

ASCII码

字段n内容

字段长度

ASCII码

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值