将十进制转换为十六进制python [英] convert decimal to hex python

查看:714
本文介绍了将十进制转换为十六进制python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

我不知道该怎么做在python中,我将非常感谢任何帮助。
谢谢! import struct
>>> struct.pack(> i,336)
'\x00\x00\x01P'

struct 模块打包并将python值解包为字节。 > i格式表示大端4字节整数。


Im building a server in python, i need to convert a decimal value to hex like this :

let's say the packet start by 4 bytes which define the packet lenght : 00 00 00 00 if the len(packet) = 255 we would send : 00 00 00 ff

Now my problem is that sometimes the packet is bigger than 256 as for example 336, then it would be : 00 00 01 50

i dont know how to do that in python, and i will really appreciate any help. Thanks !

解决方案

>>> import struct
>>> struct.pack(">i", 336)
'\x00\x00\x01P'

The struct module packs and unpacks python values into bytes. The ">i" format means big-endian 4-byte integer.

这篇关于将十进制转换为十六进制python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆