Конвертировать hex в строковый литерал: заменить 0x на \ x - PullRequest
0 голосов
/ 11 декабря 2018

Мне нужно отправить команду, состоящую из шестнадцатеричных значений, например: "\ x06 \ x01 \ x00 \ x44".Затем строка кодируется в двоичный файл с использованием встроенной функции .encode () и отправляется в Telnet.

По причинам, которые я не понимаю, это не работает, если строка отформатирована с использованием другого шестнадцатеричного кода.форматирование (0x вместо \ x): "0x060x010x000x44", поэтому я пытаюсь использовать только \ x.

Мне нужно вставить значение в команду перед ее преобразованием, но я не знаю, как принятьцелочисленный ввод и преобразовать его в шестнадцатеричный строковый литерал.

Я могу сделать это:

input_int = 100
hex_value = hex(input_int)

Но это просто оставляет меня с hex_value = '0x64', который не совпадает с'\ x64'.

Есть какой-то ярлык, который мне не хватает, или какой-то способ просто превратить int прямо в шестнадцатеричную буквенную строку?

(кстати, я использую Python 2.7.)

1 Ответ

0 голосов
/ 11 декабря 2018

Оказывается, chr () - это то, что я искал.Превращает целочисленное значение в символ ASCII с правильным значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...