Python字符串到十六进制字节

Python字符串到十六进制字节,python,struct,hex,byte,Python,Struct,Hex,Byte,在python中,我试图将字符串文字转换为它的十六进制4字节等效值。下面是我正在做的一个例子: import struct struct.pack("<i", int("08050030", 16)) >>'0\x00\x05\x08' 导入结构 如果REPL这样做,您可能会感到惊讶 >>> "hello" '\x68\x65\x6c\x6c\x6f' 幸运的是,不能打印。可打印字符按自身打印。不可打印字符使用快捷方式,如'\n',当没有快捷方式可用时,最

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

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

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

>>> "hello"
'\x68\x65\x6c\x6c\x6f'
幸运的是,不能打印。可打印字符按自身打印。不可打印字符使用快捷方式,如
'\n'
,当没有快捷方式可用时,最后的办法是使用十六进制表示法

在文本中的任何地方使用十六进制编码都是完全可以接受的

>>> '\x30\x00\x05\x08'
'0\x00\x05\x08'

Python不喜欢使用它们来显示。

因为
'0'='\x30'
。如果字符可以表示为ascii字符,它将显示为字符,而不是
\xOO
表单。