将十进制转换为十六进制python

n00*_*bie 2 python networking hex decimal

我在python中构建服务器,我需要将十进制值转换为十六进制,如下所示:

假设数据包以4个字节开始,定义数据包长度:00 00 00 00如果len(数据包)= 255,我们将发送:00 00 00 ff

现在我的问题是有时数据包大于256,例如336,那么它将是:00 00 01 50

我不知道如何在python中做到这一点,我将非常感谢任何帮助.谢谢 !

Ned*_*der 8

>>> import struct
>>> struct.pack(">i", 336)
'\x00\x00\x01P'
Run Code Online (Sandbox Code Playgroud)

struct模块将python值打包并解压缩为字节.该">i"格式是指大端4字节的整数.