2013-09-25 74 views
0

我正在使用二進制保存遊戲文件,該文件包含一些字段大多是固定的,但有幾個可變長度字段,我有問題解析,因爲我不知道他們的長度。我想要做的是從一個已知的偏移量中讀取,直到它到達一個空字節或者或者沒有返回任何東西,然後我能夠爲下一個字段生成偏移量。蟒蛇 - 確定字段閱讀二進制文件的結尾

我正在使用的文件是www.retro-gaming-world.com/SAVE.DAT 該字段的起始位置是0x8C30,但它的問題已經消失,儘管它已結束。

我試着用下面的代碼來做這件事,但我不認爲我正在討論這個問題。

while catch: 
    if "0" in temp2: 
      print "found it" 
      print temp2 
      print hex(infile.tell()) 
      break 
    temp = infile.read(1) 
    temp2 += temp 

回答

2

您應該使用'\0'代表空字符:

>>> ord('0') 
48 
>>> ord('\0') 
0