我試圖從十六進(jìn)制文件中一次讀取 2 個字節(jié)。f = open(filename, "rb+")seekv = 0x = 16while x > 0: x = x-1 f.seek(seekv) seekv = seekv + 1 Nextb = binascii.hexlify(f.readline(2)) print Nextb問題是,如果這 2 個字節(jié)是 0a0a,它只會讀取一個字節(jié) 0a。我懷疑這與 0x0A 是 ASCII 中的新行有關(guān),但這不應(yīng)該發(fā)生。
1 回答

天涯盡頭無女友
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個贊
您正在使用 f.readline(2) 而不是 f.read(2)
readline 將使用其中一個 0a 作為標(biāo)記來了解新行的開始位置。如果您切換到 f.read(2),您應(yīng)該會看到兩者。
您真的不應(yīng)該將 readline 與二進(jìn)制數(shù)據(jù)一起使用。
添加回答
舉報(bào)
0/150
提交
取消