用十六进制格式的Python写一个数字

用十六进制格式的Python写一个数字,python,hex,Python,Hex,我对python、hex、int和LSB感到困惑。 我有一个号码。 比方说 number=1000 我用十六进制格式写: new = '%08x' % number #000003e8 现在我需要以以下格式打印这些数字: \xe8\x03\x00\x00 任何帮助都将不胜感激!谢谢 这不是“十六进制”格式 您需要的是由代码点(“字符”)组成的字符串,其值来自数字的字节 您可以通过多种方式实现这一点,其中一种是使用chr()您可以使用struct.pack实现这一点: print repr(

我对python、hex、int和LSB感到困惑。 我有一个号码。 比方说

number=1000
我用十六进制格式写:

new = '%08x' % number
#000003e8
现在我需要以以下格式打印这些数字:

\xe8\x03\x00\x00
任何帮助都将不胜感激!谢谢

这不是“十六进制”格式

您需要的是由代码点(“字符”)组成的字符串,其值来自数字的字节


您可以通过多种方式实现这一点,其中一种是使用
chr()

您可以使用
struct.pack
实现这一点:

print repr(struct.pack("I", 1000))

为什么你不能简单地说:

num = 1000
num.to_bytes(4, 'little')

就像我建议的那样?

你是说你想把它转换成字节?然后使用
struct.pack()
。存在一个与类似问题相关的线程。完美的谢谢,这正是我需要的!但它打印的是“”('\xe8\x03\x00\x00'),这是我不想要的!有办法摆脱它们吗?找到了:string=string1.replace(“,”)。谢谢你的帮助!!