Преобразование символов ASCII в шестнадцатеричные экранированные строки - PullRequest
2 голосов
/ 22 сентября 2011

Я читал в файле из Python.Я открыл этот файл и использовал 'rb' для чтения байтов.Когда я их прочитаю, скажем:

f.read(1)

будет выводиться что-то вроде этого

b'\x50'

Так что мой вопрос в том, когда я попробовал более длинную строку, такую ​​как

f.read(24)

Я получил это:

b'R\x00S\x00S\x00Q\x00S\x00O\x00N\x00P\x00S\x00M\x00R\x00P\x00

Вы заметили, что в гекс смешано ASCII символов.Я хотел бы, чтобы R отображался как \ x52.

Как мне это сделать?

1 Ответ

6 голосов
/ 22 сентября 2011
print(''.join('\\x%02x' % c for c in B))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...