Я работаю над кодом, чтобы прочитать 2 шестнадцатеричных файла, записать разницу и преобразовать (using binascii.unhexify()
) в десятичное значение, чтобы я мог просмотреть его и внести изменения.
Я пытался преобразовать егообратно в шестнадцатеричный формат с обратным (binascii.hexify()
), но это дает мне вывод, отличный от того, что я ожидал.
Я попытался скопировать отдельные строки и преобразовать его обратно в шестнадцатеричный формат, и это дает мне желаемый вывод.
Похоже, проблема в чтении файла и разборе отдельных строк функции.
def read_file(fst, scd):
with open(fst) as f:
g = f.read().splitlines()
with open (scd) as ref:
ref_lines = ref.read().splitlines()
return g, ref_lines
def compare(run, sta):
with open("unum_change.txt", "w+") as diff:
for i in range(len(run)):
if run[i] != sta[i]:
diff.write(f"{binascii.unhexlify(g[i][1:])}\n")
Проблема в следующем коде:
def trans ():
with open ('unum_change.txt', 'rb') as change, open ('reconv_change.txt', 'w') as file2:
contents = change.readlines()
for j in range(len(contents)):
file2.write(f"{binascii.hexlify(contents[j])}\n")
Желаемый вывод должен быть в следующем формате:
104A80000A0000000D0A0000554E49543A20303308
Но вместо этого я получаю такой формат:
62275c7831304a5c7838305c7830305c6e5c7830305c7830305c7830305c725c6e5c7830305c783030554e49543a2030395c7427200d0a