Python - 无法正确读取十六进制 0A



我正在尝试一次从十六进制文件中读取 2 个字节。

f = open(filename, "rb+")

seekv = 0
x = 16
while x > 0:
     x = x-1
     f.seek(seekv)
     seekv = seekv + 1
     Nextb = binascii.hexlify(f.readline(2))
     print Nextb

问题是,如果这 2 个字节是 0a0a,它只会读取一个字节 0a。我怀疑这与0x0A ASCII中的新行有关,但这不应该发生。

您使用的是 f.readline(2) 而不是 f.read(2)

Readline 将使用其中一个 0A 作为标记来了解新行的开始位置。如果你切换到 f.read(2),你应该看到两者。

您真的不应该将 readline 与二进制数据一起使用。

最新更新