pdb
程序資料庫文件
PDB(Program Database File,程序資料庫文件)文件物理結構在我們目前使用的掌上電腦中,Palm操作系統由於其功能強大、應用軟體多等特點,佔有很大的比例。PDB文件是Palm OS操作系統上數據文件類型。一般我們在使用Palm系統的電子書時都會遇到這種文件,一般用於電子書或手機電子書pdb是Palm DataBase的縮寫,Palm OS所用文件的擴展名為“.pdb”。還表示碳氧同位素標準樣品以及可編程延遲模塊,是DSP中的一種模塊,可以用來計數和延時。
可以使用PalmReader打開。如果想把PDB文件轉換成TXT文件查看,可以使用WavePDB轉。
PC端的PDB文件查看軟體不多,PDBingo1.504是英文界面,中文內容也顯示不出,這樣就很不方便。並且一些電子圖書也只能在模擬器上看,如果碰到不同內碼的漢字更是麻煩,鑒於此,我利用工作之餘寫了這個免費程序,方便各位朋友查看PDB文件結果和查看電子圖書,希望我的勞動能給各位帶來方便。
⒈查看PDB文件頭信息,可以修改名稱,模擬器不支持中文PDB名稱文件使用此功能修改比較方便;
⒉查看所有記錄,並顯示各個記錄的偏移地址、長度、屬性、標識等信息;
⒊記錄可以分文本方式、十六進位單記錄以及瀏覽全部方式查看,並可以快速定位;
⒋可以瀏覽標準的電子書文件(包括壓縮格式);
⒌可以轉換BIG5的電子書為GB格式;
⒍可以轉換GB的電子書為BIG5格式;
⒎可以設置、保存看書的前後景顏色和字體;
⒏可以保存PDB文件內容到文本文件;
⒈完全免費;
⒉完全支持中文;
⒊軟體支持文件拖拽,拖住PDB文件往裡扔即可顯示該文件信息;
見擴展閱讀
下面著重分析該文件的結構,及其在PC機上生成的方法。
PDB文件物理結構如下圖所示:
PDB文件的邏輯結構如下圖所示:
PDB文件的結構是由下面幾個部分組成的:
資料庫頭部(Database Header)
記錄入口列表(List of Record Entries)
應用信息塊(AppInfo Block)(可選)
排序信息塊(SortInfo Block)(可選)
資料庫記錄信息(Sequence of raw record data)
其中在資料庫頭部結構中,確定了應用信息塊(AppInfo Block)和排序信息塊(SortInfo Block)的位置信息。記錄入口列表中確定了所有記錄的位置相關的信息。
其中資料庫頭部的長度是固定的。應用信息塊和排序信息塊可有可無,而且尺寸也不確定,在很多結構簡單的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 首條記錄的索引。
PDB文件的記錄入口結構:
typedef struct {
LocalID localChunkID;
UInt8 attributes;
UInt8 uniqueID;
} RecordEntryType;
欄位描述:
LocalChunkID 從文件頭計算的該條記錄得偏移地址。你能夠通過將一條記錄的偏移地址和下條記錄的偏移地址相減獲得記錄的長度,如是最後記錄可計算到文件結束。Attributes 記錄的屬性。UniqueID 記錄的順序號。
AppInfo塊:
AppInfo塊的數據結構如下:
typedef struct {
UInt16 renamedCategories;
Char categoryLabels;
UInt8 categoryUniqIDs;
UInt8 lastUniqID;
UInt8 padding;
} AppInfoType;
欄位含義:
RenamedCategories 指出哪個分類名稱被使用了
PDB為美國南卡羅萊納州白堊系皮迪組的美洲似箭石中的碳氧同位素丰度比,可作為世界通用的碳氧同位素標準。
PDB:programmable delay block
中文:可編程延遲模塊,是DSP中的一種模塊,可以用來計數和延時。在DSP的PWM時期需要AD採樣,可用此模塊來同步時鐘。
程序調試庫
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 ;子目錄中。
蛋白質資料庫(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。
數據包時延預算(Packet Delay Budget)是EPS系統中,承載級別的QoS參數QCI(QoS Class Identifier,Qos分類識別碼)的標準屬性中的一個指標,用來表示數據包在UE(User Equipment,用戶設備)和P-GW(PDN-GW,分組數據網路-網關)之間可能被延遲的時間。對於某一個QCI,PDB的值在上行和下行方向上是相同的。PDB的目的是支持時序和鏈路層功能的配置。