首页 > 其他分享 >dbf文件结构

dbf文件结构

时间:2023-03-07 12:45:36浏览次数:40  
标签:文件 850 字节 dbf MS 437 DOS OEM 结构

.dbf 文件头结构如下:

0字节:表示当前的DBF版本信息
     该文件的值是十六进制’03’,表示是FoxBASE+/Dbase III plus, no memo
    
1~3字节:表示最新的更新日期,按照YYMMDD格式
     第一个字节的值 = 保存时的年 - 1900
     第二个字节的值 = 保存时的月
     第三个字节的值 = 保存时的日
     该文件的第一个字节是十六进制74,对应十进制116,116+1900正好等于当前的年2016
     第二个字节是十六进制07,对应十进制07,第三个字节是03,正好今天是7月3日

4~7字节:Int32类型,表示DBF文件中有多少条记录
     可以看到值是02,正好当前文件确实只有两条记录

8~9字节:Int16类型,表示当前DBF的文件头占用的字节长度
     该文件对应的值是十六进制的A1,对应十进制161

10~11字节:Int16类型,表示一条记录中的字节长度,即每行数据所占的长度
     该文件的值是十六进制数3A,对应十进制的58
     创建该文件时,一共4个字段,分别长度是20、8、8、21
     计算4个列的长度和是57,比58少1
     多出来的一个字节是每条记录最开始的特殊标志字节

12~13字节:保留字节,用于以后添加新的说明性信息时使用,这里用0来填写

14字节:表示未完成的操作

15字节:dBASE IV编密码标记

16~27字节:保留字节用于多用户处理时使用

28字节:DBF文件的MDX标识
     创建一个DBF表时,若使用MDX格式的索引文件,则DBF表头中该字节就自动被设置一个标志
     当你下次试图重新打开这个DBF表的时候,数据引擎会自动识别这个标识
     如果此标示为真,则数据引擎将试图打开相应MDX文件

29字节:页码标记

30~31字节:保留字节,用于以后添加新的说明性信息时使用,这里用0来填写。

32~N(x * 32),这段长度由表格中的列数(即字段数)决定
     每个字段的长度为32,如果有x列,则占用的长度为x * 32
     这每32个字节里面又按其规则填写每个字段的名称、类型等信息

N+1字节:作为字段定义的终止标志,值为0x0D


=====================================================
ArcGIS中.dbf文件第30个字节表示Language driver ID,代表的编码页如下:

ID        Codepage    Description
1    0x01    437    US MS-DOS
2    0x02    850    International MS-DOS
3    0x03    1252    Windows ANSI Latin I
4    0x04    10000    Standard Macintosh
8    0x08    865    Danish OEM
9    0x09    437    Dutch OEM
10    0x0A    850    Dutch OEM*
11    0x0B    437    Finnish OEM
13    0x0D    437    French OEM
14    0x0E    850    French OEM*
15    0x0F    437    German OEM
16    0x10    850    German OEM*
17    0x11    437    Italian OEM
18    0x12    850    Italian OEM*
19    0x13    932    Japanese Shift-JIS
20    0x14    850    Spanish OEM*
21    0x15    437    Swedish OEM
22    0x16    850    Swedish OEM*
23    0x17    865    Norwegian OEM
24    0x18    437    Spanish OEM
25    0x19    437    English OEM (Great Britain)
26    0x1A    850    English OEM (Great Britain)*
27    0x1B    437    English OEM (US)
28    0x1C    863    French OEM (Canada)
29    0x1D    850    French OEM*
31    0x1F    852    Czech OEM
34    0x22    852    Hungarian OEM
35    0x23    852    Polish OEM
36    0x24    860    Portuguese OEM
37    0x25    850    Portuguese OEM*
38    0x26    866    Russian OEM
55    0x37    850    English OEM (US)*
64    0x40    852    Romanian OEM
77    0x4D    936    Chinese GBK (PRC)
78    0x4E    949    Korean (ANSI/OEM)
79    0x4F    950    Chinese Big5 (Taiwan)
80    0x50    874    Thai (ANSI/OEM)
87    0x57    Current ANSI CP    ANSI
88    0x58    1252    Western European ANSI
89    0x59    1252    Spanish ANSI
100    0x64    852    Eastern European MS-DOS
101    0x65    866    Russian MS-DOS
102    0x66    865    Nordic MS-DOS
103    0x67    861    Icelandic MS-DOS
104    0x68    895    Kamenicky (Czech) MS-DOS
105    0x69    620    Mazovia (Polish) MS-DOS
106    0x6A    737    Greek MS-DOS (437G)
107    0x6B    857    Turkish MS-DOS
108    0x6C    863    French-Canadian MS-DOS
120    0x78    950    Taiwan Big 5
121    0x79    949    Hangul (Wansung)
122    0x7A    936    PRC GBK
123    0x7B    932    Japanese Shift-JIS
124    0x7C    874    Thai Windows/MS–DOS
134    0x86    737    Greek OEM
135    0x87    852    Slovenian OEM
136    0x88    857    Turkish OEM
150    0x96    10007    Russian Macintosh
151    0x97    10029    Eastern European Macintosh
152    0x98    10006    Greek Macintosh
200    0xC8    1250    Eastern European Windows
201    0xC9    1251    Russian Windows
202    0xCA    1254    Turkish Windows
203    0xCB    1253    Greek Windows
204    0xCC    1257    Baltic Windows

标签:文件,850,字节,dbf,MS,437,DOS,OEM,结构
From: https://www.cnblogs.com/publiter/p/17187654.html

相关文章

  • shapefile文件后缀
    Shapefile由多个文件构成,最基本的是.shp、.shx、.dbf文件。.shp:存储地理数据的坐标信息。.shx:存储地理数据的位置索引,记录每个地理数据在shp文件中的位置,能够快速定......
  • 统计当前文件夹下文件个数
    Linux下有三个命令:ls、grep、wc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。统计当前目录下文件的个数(不包括目录)ls-l|grep"^-"|wc-l统计当前目录......
  • Maven项目结构
    标准目录结构: ❀src/main/java 这个目录下储存java源代码❀src/main/resources 储存主要的资源文件。比如xml配置文件和properties文件❀src/test/java 储存测试......
  • Maven项目结构
    标准目录结构: ❀src/main/java 这个目录下储存java源代码❀src/main/resources 储存主要的资源文件。比如xml配置文件和properties文件❀src/test/java 储存测试......
  • node重命名某文件下的图片名称
    需求将imgs文件下的图片重命名为规则的命名方式letfs=require('fs')letpath=require('path')//获取文件位置leturl=path.join(__dirname,'/imgs/')fs.rea......
  • 生成可执行文件的步骤
    可执行文件就是多个目标文件(.o文件)通过链接生成的预处理(.i文件):宏替换、头文件的展开、条件编译(带#的处理)、去注释编译(.s文件):语法检测,生成汇编代码汇编(.o文件)......
  • Windows系统中卸载文件系统
    1.查看挂载的盘符netuse 2.卸载X盘符挂载的文件系统netuseX:/delete 3.其它手动卸载Windows系统中所有已挂载的文件系统netuse*/delete自动卸载Wi......
  • .NET虚拟文件系统
    TinyVFS TinyVFS是一个虚拟文件系统,受ABPvNext框架的启发。它可以将js、css、image、cshtml等文件嵌入到程序集中,并在运行时可以将它们像物理文件一样去使用。特点在......
  • # ASP.NET Core使用静态文件、目录游览与MIME类型管理
    ASP.NETCore使用静态文件、目录游览与MIME类型管理https://blog.csdn.net/sD7O95O/article/details/78994496前言今天我们来了解了解ASP.NETCore中的静态文件的处理方......
  • C语言-结构、联合、枚举
    结构使用struct关键词,可以创造新的类型。关键词struct取自structure,中文翻译为结构。这种由多个不同的数据类型组成的类型,被称为结构。struct{ charname[20]; intg......