我正在使用二进制保存游戏文件,该文件包含大多数固定的字段,但是有几个可变长度字段,我有解析问题,因为我不知道它们的长度。我要做的是从一个已知的偏移量读取,直到它达到一个nullbyte或者什么也不返回,然后我就可以为下一个字段产生偏移量。
我正在使用的文件是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
答案 0 :(得分:2)
您应该使用'\0'
来表示空字符:
>>> ord('0')
48
>>> ord('\0')
0