2014-01-16 5 views
1

Решили сделать полный римейк вопроса. Hexedit в своих настройках по умолчанию отображает hex в центральном окне и ansi-текст в правом окне. Ниже текущий код:python text to hex и поиск шестнадцатеричных данных или преобразование всего в двоичный

patlst = [line.strip() for line in open(patch,'rb',1)] #Read Patch start 
if alphex == 'h' : 
    old = patlst[patlst.index('OLD:')+1] #get old data str 
    new = patlst[patlst.index('NEW:')+1] #get new data str 
    old = old.lower();old = ''.join(old.split()) 
    new = new.lower();new = ''.join(new.split()) 
pircwd = os.chdir('..'); pircwd = os.getcwd() ##DIR change 
with open(tar, 'rb') as f: 
    data = binascii.hexlify(f.read(160)) 
with open(tar+'BAK', 'wb') as f: 
    f.write(data.replace(b'old',b'new')) 

Оригинальный вид HexEdit неизмененном: This is the original hexedit

Желаемый результат:

This is the desired result

Фактический результат:

enter image description here

Я считаю, что для нормальной работы пакет и функция распаковки? Или есть лучший способ сделать это?

+0

Мне все еще не ясно, что вы хотите сделать. Можете ли вы разместить образец ввода и вывода? (Я думаю, вы могли бы просто искать функцию 'repr' ...) – senshin

ответ

1

Для преобразования из (в формате ASCII) в двоичный код вы можете использовать binascii.unhexlify().

+0

Я не мог дойти до этой точки без лет ур ответ. Надеюсь, что с помощью изображения кто-то (включая вас) может предоставить совершенно другое решение. –

0

Ok потерял ВСЕ мои данные для входа. И зарегистрированная учетная запись электронной почты мертва. Парки Баньон - секретная личность Гэри Вашингтона. Я собираюсь передать вопрос в другом контексте, назвав «python print data to stout в формате, который видит python. IE raw.

0

В основном этот конкретный вопрос рассматривал 3 проблемы и, надеюсь, единственное решение. это не так. В качестве такового я буду ссылаться на следующий вопрос stackoverflow как на частичный ответ (почему Python печатает символы Юникода, когда кодировка по умолчанию - ASCII?) и проголосовать за ответ Дэн Getz как работоспособное решение. как 3 отдельных вопроса и надеюсь, что ответы не противоречат друг другу.

 Смежные вопросы

  • Нет связанных вопросов^_^