Python字符串到十六进制字节

时间:2015-12-08 04:45:15

标签: python struct hex byte

在python中,我试图将字符串文字转换为它的十六进制4字节等效字符串。以下是我正在做的事情的一个例子:

import struct
struct.pack("<i", int("08050030", 16))
>>'0\x00\x05\x08'

为什么输出渲染如此?我希望\x30\x00\x05\x08

1 个答案:

答案 0 :(得分:2)

如果REPL这样做你可能会感到惊讶

>>> "hello"
'\x68\x65\x6c\x6c\x6f'

幸运的是,它没有。可打印字符作为自己打印。不可打印的字符使用'\n'等快捷方式,当没有可用时,最后的方法是使用十六进制表示法。

在您的文字

中的任何位置使用十六进制编码是完全可以接受的
>>> '\x30\x00\x05\x08'
'0\x00\x05\x08'

这不是Python首选使用它们进行显示。