代码之家  ›  专栏  ›  技术社区  ›  Eliezer Miron

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

  •  0
  • Eliezer Miron  · 技术社区  · 7 年前

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

    由于我不理解的原因,如果字符串使用其他十六进制格式(x而不是x)格式化:“0x060x010x000x44”,则此操作不起作用,因此我尝试仅使用\x。

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

    我可以做到:

    input_int = 100
    hex_value = hex(input_int)
    

    但这只会留下十六进制值='0x64',这与'\x64'不同。

    是否缺少快捷方式,或者直接将int转换为十六进制文字字符串?

    (顺便说一下,我使用的是Python2.7。)

    1 回复  |  直到 7 年前
        1
  •  1
  •   Eliezer Miron    7 年前

    原来chr()是我要找的。它将整数值转换为具有正确值的ASCII字符。