我需要发送一个由十六进制值组成的命令,比如:"\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字符。