0
如果我有下面的格式十六進制值名爲log1中的日誌文件:十六進制有符號的十進制
D8 D4 D4 D2
D6 D4 D4 D2
D6 D4 D4 D2
D6 D4 D4 D1
...............etc
我怎麼能轉換這個值符號的十進制(見下文格式),然後將它們保存到另一個文件名爲log2?
-40 -44 -44 -46
-42 -44 -44 -46
-42 -44 -44 -46
-42 -44 -44 -47
....................etc
with open("log1.log","r") as f:
data = f.read()
def s16(value):
return -(value & 0x80) | (value & 0x7f)
new_data = s16(int(data[0:2], 16)), s16(int(data[3:5], 16)), s16(int(data[6:8], 16)), s16(int(data[9:11], 16))
with open("log2.log","w") as f:
f.write(new_data)
這是我到目前爲止,這段代碼,我能夠打印第一線
(-40, -44, -44, -46)
,但我不知道如何使它打印所有行,而不僅僅是第一在線謝謝。
尼斯,簡單易懂。比使用位操作符更好。 –