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