我正试图一次从一个十六进制的文件中读取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
问题是,如果这两个字节为0a0a,它将仅读取一个字节0a。我怀疑与0x0A是ASCII中的换行符有关,但这不应该发生。
答案 0 :(得分:3)
您使用的是f.readline(2)而不是f.read(2)
readline将使用那些0a中的一个作为标记来知道新行从哪里开始。如果切换到f.read(2),则应同时看到两者。
您真的不应该对二进制数据使用readline。