python Long to Byte使用struct的2字节数组

时间:2016-07-06 10:10:12

标签: python python-2.7 bytearray

我使用struct

在python中将long或int转换为bytearray

ba = struct.pack(' H',12)

输出:' \ x0c \ x00' 长度为2个字节

但如果我转换 ba = struct.pack(' H',12345)

输出:' 90' 我需要编码为十六进制以获得所需的输出 ba.encode('十六进制') 在这种情况下输出是 输出:3930 和长度是4

为什么会发生这种情况,它应该在没有编码的情况下给出2字节的结果?

我的用例是我需要将long转换为所需bytearray大小的bytearray。

1 个答案:

答案 0 :(得分:0)

'90'是两个字节。第一个字节是0x39,第二个字节是0x30。

>>> hex(12345)
'0x3039'

TL; DR:您收到了正确的结果。

相关问题