词条 | pdb |
释义 | PDB文件物理结构在我们目前使用的掌上电脑中,Palm操作系统由于其功能强大、应用软件多等特点,占有很大的比例。PDB文件是Palm OS操作系统上数据文件类型。一般我们在使用Palm系统的电子书时都会遇到这种文件,一般用于电子书或手机电子书 pdb是Palm DataBase的缩写,Palm OS所用文件的扩展名为.pdb。还表示碳氧同位素标准样品以及可编程延迟模块,是DSP中的一种模块,可以用来计数和延时。 PDB文件阅读器可以使用PalmReader打开。 如果想把PDB文件转换成TXT文件查看,可以使用WavePDB转。 一. 设计思路 PC端的PDB文件查看软件不多,PDBingo1.504是英文界面,中文内容也显示不出,这样就很不方便。并且一些电子图书也只能在模拟器上看,如果碰到不同内码的汉字更是麻烦,鉴于此,我利用工作之余写了这个免费程序,方便各位朋友查看PDB文件结果和查看电子图书,希望我的劳动能给各位带来方便。 二. 功能介绍 1. 查看PDB文件头信息,可以修改名称,模拟器不支持中文PDB名称文件使用此功能修改比较方便; 2. 查看所有记录,并显示各个记录的偏移地址、长度、属性、标识等信息; 3. 记录可以分文本方式、十六进制单记录以及浏览全部方式查看,并可以快速定位; 4. 可以浏览标准的电子书文件(包括压缩格式); 5. 可以转换BIG5的电子书为GB格式; 6. 可以转换GB的电子书为BIG5格式; 7. 可以设置、保存看书的前后景颜色和字体; 8. 可以保存PDB文件内容到文本文件; 三. 软件特点 1. 完全免费; 2. 完全支持中文; 3. 软件支持文件拖拽,拖住PDB文件往里扔即可显示该文件信息; 四. 程序下载: 见扩展阅读 文件的结构下面着重分析该文件的结构,及其在PC机上生成的方法。 1. PDB文件组成PDB文件物理结构如下图所示: PDB文件的逻辑结构如下图所示: PDB文件的结构是由下面几个部分组成的: 数据库头部(Database Header) 记录入口列表(List of Record Entries) 应用信息块(AppInfo Block)(可选) 排序信息块(SortInfo Block)(可选) 数据库记录信息(Sequence of raw record data) 其中在数据库头部结构中,确定了应用信息块(AppInfo Block)和排序信息块(SortInfo Block)的位置信息。记录入口列表中确定了所有记录的位置相关的信息。 其中数据库头部的长度是固定的。应用信息块和排序信息块可有可无,而且尺寸也不确定,在很多结构简单的PDB文件中,没有该部分信息,本文中将不再详细阐述。记录入口列表的长度也随着纪录数量的变化发生变化。 2. PDB文件文件头文件头数据结构 typedef struct { UInt8 name[dmDBNameLength]; UInt16 attributes; UInt16 version; UInt32 creationDate; UInt32 modificationDate; UInt32 lastBackupDate; UInt32 modificationNumber; LocalID appInfoID; LocalID sortInfoID; UInt32 type; UInt32 creator; UInt32 uniqueIDSeed; RecordListType recordList; } DatabaseHdrType; 文件头字段描述: Name 一个32字节的长度的字符串,包含有数据库的名称。名称最长为31个字节,使用0x00结尾。该字段也用来在同步备份时作为PDB文件的文件名。 Attributes 数据库的属性标志。 Version 数据库的版本。 creationDate 数据库创建日期, 为距离1904年1月1日上午12:00的秒数。 ModificationDate 最后修改日期,为距离1904年1月1日上午12:00的秒数。 LastBackupDate 最后备份日期,为距离1904年1月1日上午12:00的秒数。 ModificationNumber 数据库修改次数。 AppInfoID AppInfo块的偏移地址,如果没有AppInfo块数值为0x00000000 SortInfoID SortInfo块的偏移地址,如果没有SortInfo块数值为0x00000000 Type 数据库类型标识。该值依赖创建该数据库的应用程序。 Creator 数据库创建者的标识. uniqueIDSeed 被Palm OS系统内部使用,用于在系统装入数据库时记录标识。 RecordList 数据库中资源或者记录的列表。 typedef struct { LocalID nextRecordListID; UInt16 numRecords; UInt16 firstEntry; } RecordListType; 注意:placeholder byes-这两个字节专门用于字节对齐,如果没有任何记录,那么就在该位置放置0;否则在所有记录列表的最后放置0。 字段描述 NextRecordListID 下一个记录列表的偏移位置,如果没有下一个记录列表该项为0。 NumRecords 记录数量。 FirstEntry 首条记录的索引。 3. PDB文件记录入口PDB文件的记录入口结构: typedef struct { LocalID localChunkID; UInt8 attributes; UInt8 uniqueID[3]; } RecordEntryType; 字段描述: LocalChunkID 从文件头计算的该条记录得偏移地址。你能够通过将一条记录的偏移地址和下条记录的偏移地址相减获得记录的长度,如是最后记录可计算到文件结束。 Attributes 记录的属性。 UniqueID 记录的顺序号。 4. AppInfo和SortInfo结构AppInfo块: AppInfo块的数据结构如下: typedef struct { UInt16 renamedCategories; Char categoryLabels[16][16]; UInt8 categoryUniqIDs[16]; UInt8 lastUniqID; UInt8 padding; } AppInfoType; 字段含义: RenamedCategories 指出哪个分类名称被使用了 碳氧同位素标准样品PDB为美国南卡罗莱纳州白垩系皮迪组的美洲似箭石中的碳氧同位素丰度比,可作为世界通用的碳氧同位素标准。 在计算机数据手册中含义PDB: programmable delay block 中文:可编程延迟模块,是DSP中的一种模块,可以用来计数和延时。 在DSP的PWM时期需要AD采样,可用此模块来同步时钟。 .NET Framework PDB文件PDB:Program Debug Database(程序调试数据库)文件 PDB(程序调试数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量链接。当用 /ZI 或 /Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C# 程序时将创建 PDB 文件。 在 Visual C++ 中,/Fd 选项用于命名由编译器创建的 PDB 文件。当在 Visual Studio 中使用向导创建项目时,/Fd 选项将被设置以创建名为 project.PDB 的 PDB。 如果使用生成文件创建 C/C++ 应用程序,并指定 /ZI 或 /Zi 而不指定 /Fd 时,则最终将生成两个 PDB 文件: VC70.PDB(更笼统地说就是 VCx0.PDB,其中 x 表示 Visual C++ 的版本。)该文件存储各个 OBJ 文件的所有调试信息并与项目生成文件驻留在同一个目录中。 project.PDB 该文件存储 .exe 文件的所有调试信息。对于本机代码,它驻留在 \\debug 子目录中。对于托管代码,它驻留在 \\WINDEBUG 子目录中。 PDB—Protein Data Bank—蛋白质数据库?蛋白质数据库(Protein Data Bank, PDB)是一个生物大分子,如蛋白质和核酸,的数据库。这些数据包括X光晶体衍射或者NMR核磁共振显示以及由全世界生物学家和生物化学家上传,在网上,它们可以通过PBD的会员组织(PDBe, PDBj, RCSB)免费获取。PDB是由一个叫做世界蛋白质数据库(Worldwide Protein Data Bank, wwPDB)管理。PDB是结构生物(如结构基因组学)的一个关键性资源。大部分学术刊物,以及一些官方科研机构[如美国的国立卫生研究院(NIH)],现在都要求科学家将它们研究的蛋白质、核酸结构上传到PDB。? 从PDB的网站上,可以通过蛋白质的编号查找到相应的3D结构,并可以将这个结构图下载到电脑中,通过PyMol、RasMol、Chimera、VMD、Swiss-PdbViewer等软件查看、编辑。 从PDB网站上下载的3D结构图的后缀名为.pdb。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。