Всякий раз, когда программа открывает файл, файл видит двоичные данные. Он переводит его на более высокий интерпретирующий язык, например восьмеричный, шестнадцатеричный, ascii и т. Д. В этом случае он отображает шестнадцатеричный элемент в панели LH и ansi (окна 7, поэтому он должен быть CP1252) в области RH. В 3 фотографии ниже иллюстрируют оригинальный вид, то желаемый изменение, а третий является фактическое изменение, сделанное по коду:python unhexlify не работает как ожидалось
with open(tar,'rb') as f:
data = binascii.hexlify(f.read(160))
if old in data:
print 'found!'
data = data.replace(old, new)
else:
print 'not found'
with open(tar+'new', 'wb') as fo:
binascii.unhexlify(data)
fo.write(data)
У меня очевидно, неправильно направлено на способ доставки.
'binascii.unhexlify (data)' отсутствует присваивание. Вы, кажется, записываете только данные * hexlified *. – monkut