檔案閱讀
可以使用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[3];
} RecordEntryType;
欄位描述:
LocalChunkID 從檔案頭計算的該條記錄得偏移地址。你能夠通過將一條記錄的偏移地址和下條記錄的偏移地址相減獲得記錄的長度,如是最後記錄可計算到檔案結束。Attributes 記錄的屬性。UniqueID 記錄的順序號。
編程結構
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採樣,可用此模組來同步時鐘。
程式調試庫
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的目的是支持時序和鏈路層功能的配置。