gpt4 book ai didi

python - 使用 Python 将整数转换为两个字节的十六进制

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:04 25 4
gpt4 key购买 nike

我需要取一个整数(例如-200)并将其转换为十六进制(FF 38),然后转换为0-255 的整数以通过串口发送。我得到的例子是:

-200 = hex FF38 = [hex FF] [hex 38] = [255] [56]

我试过使用 struct.pack('>h', -200) 但返回的值不正确。我也试过 hex() 但它返回了一个负的十六进制值,这也是不正确的。

我不知道我还应该尝试什么。

最佳答案

>>> hex(struct.unpack('>H', struct.pack('>h', -200))[0])
'0xff38'

首先,您将 -200 打包为带符号的 2 字节短整数。然后将该数据解压缩为unsigned 2-byte short int。这给你 65336,其中 hexff38


如果您需要发送 0-255 整数,这可能会更好:

>>> struct.unpack('>BB', struct.pack('>h', -200))
(255, 56)
>>> struct.unpack('>BB', struct.pack('>h', 200))
(0, 200)

你在哪里解压成两个unsigned chars


必需 documentationstruct

关于python - 使用 Python 将整数转换为两个字节的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com