确定读取二进制文件的字段的结尾



我正在使用二进制保存游戏文件,该文件包含许多字段,大多数字段都是固定的,但是有一些可变长度字段我在解析时遇到问题,因为我不知道它们的长度。我正在尝试做的是从已知的偏移量读取,直到它达到空字节或返回任何内容,然后我将能够为下一个字段生成偏移量。

我正在使用的文件是 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

你应该使用 '' 来表示空字符:

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

最新更新