将十六进制转换为字符串文字:将0x替换为\x



我需要发送一个由十六进制值组成的命令,比如:"\x06\x01\x00\x44"。然后使用内置的.encode((函数将字符串编码为二进制,并发送到Telnet中。

由于我不理解的原因,如果字符串使用其他十六进制格式(0x而不是\x(:"0x060x010#x000x44"进行格式化,这将不起作用,因此我尝试只使用\x。

在转换之前,我需要在命令中插入一个值,但我不知道如何接受整数输入并将其转换为十六进制字符串文字。

我可以做到:

input_int = 100
hex_value = hex(input_int)

但这只会给我留下hex_value='0x64',这与'\x64'不同。

有没有我缺少的快捷方式,或者某种方法可以将int直接转换为十六进制文字字符串?

(顺便说一句,我使用的是Python 2.7。(

原来chr((就是我想要的。它将整数值转换为具有适当值的ASCII字符。

最新更新