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

时间:2018-12-10 23:12:44

标签: python string hex escaping data-conversion

我需要发送一个包含十六进制值的命令,例如:“ \ 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 :(得分:1)

结果是chr()是我想要的。它将整数值转换为具有适当值的ASCII字符。