在python中将值转换为4字节的十六进制

2024-10-01 11:33:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把任何值(可以是负的或正的)转换成十六进制。我目前的方法是这样做的。在

本例中的读取值为4003。在

workingline = stringdb.readline().split(";")
print hex(int(workingline[0]))

这就回来了

^{pr2}$

它应该是:

0xa30f0000

(用0填充,并用倒十六进制填充)如果值为负,则应为:

0xFEFFFFFF

值为-2。在

我想在这种情况下填充没有帮助。在

谢谢你!在


Tags: 方法readline情况intsplitprinthex本例
1条回答
网友
1楼 · 发布于 2024-10-01 11:33:28

{cd1>你想要这个模块:

>>> struct.pack("<I", 4003).encode('hex')
'a30f0000'

对于-2,您需要做一些其他工作:

^{pr2}$

对任何值都可以这样做:

struct.pack("<I", (value + 2**32) % 2**32).encode('hex')

相关问题 更多 >