Я использую Python 2.7.X.
У меня есть текстовый файл со следующим содержанием:Python: преобразовать строку в ее двоичное представление
\xe87\x00\x10LOL
Заметьте, что это сам текст, а не его двоичное представление (то есть первый символ «\\», не 0xE8) Когда Я прочитал его (как двоичный), я получаю:
a = "\\\\xe87\\\\x00\\\\x10LOL"
потому что это текстовый файл.
Я хочу, чтобы преобразовать его в двоичной форме, то есть я хочу, чтобы получить файл, который начинается с символов
0xE8, 0x37, 0x00, 0x10, 0x4c, 0x4F, 0x4c.
(Обратите внимание, что 0x4c == 'L', 0x4f == 'O').
Как это сделать?
Пробовал всевозможные решения, такие как hexlify \ unhexlify, int (c, 16), но похоже, что я чего-то не хватает.
Также обратите внимание, что длина файла изменяется, поэтому struct.pack менее предпочтителен.
Вы дон '' действительно хотите прочитать символ '" 7 "' как '0x07', не так ли? –
Какую версию Python вы используете? – falsetru
@TimPietzcker, ты прав. Я установил его на 0x37 (== '7') – Sammy