Palmのデータ形式

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]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です