在python中,我试图将字符串文字转换为它的十六进制4字节等效字符串。以下是我正在做的事情的一个例子:
import struct
struct.pack("<i", int("08050030", 16))
>>'0\x00\x05\x08'
为什么输出渲染如此?我希望\x30\x00\x05\x08
?
答案 0 :(得分:2)
如果REPL这样做你可能会感到惊讶
>>> "hello"
'\x68\x65\x6c\x6c\x6f'
幸运的是,它没有。可打印字符作为自己打印。不可打印的字符使用'\n'
等快捷方式,当没有可用时,最后的方法是使用十六进制表示法。
在您的文字
中的任何位置使用十六进制编码是完全可以接受的>>> '\x30\x00\x05\x08'
'0\x00\x05\x08'
这不是Python首选使用它们进行显示。