jpilotのソースを見るとよくわかる。
Pythonで簡単にサンプルを書きながら理解につとめている。Big Endianなのねん。
#! /usr/bin/python import sys import os import struct f=open("MemoDB.pdb", "r") rawhead=f.read(78) head=struct.unpack(">32s2H6L4s4sLLH", rawhead) print head[13] for i in range(head[13]): each_rawhead=f.read(8) each_head=struct.unpack(">LB3B", each_rawhead) print "Offset =", each_head[0] print "attrib =", each_head[1] print "id =", (each_head[2]*256+each_head[3])*256+each_head[4]