Python - 十进制到十六进制,反转字节顺序,十六进制到十进制 [英] Python - Decimal to Hex, Reverse byte order, Hex to Decimal

查看:1549
本文介绍了Python - 十进制到十六进制,反转字节顺序,十六进制到十进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我试图用2字节将十进制转换为十六进制。反转十六进制位顺序,然后将其转换回十进制。



我试图按照这些步骤...在Python中

 将十进制值** 36895 **转换为等效的2字节十六进制值:

** 0x901F **
颠倒2个十六进制字节的顺序:

** 0x1F90 **
将得到的2字节十六进制值转换为十进制等值:

** 8080 **


解决方案

  >>> x = 36895 
>>> ((x << 8)|(x> 8))& 0xFFFF
8080
>>>十六进制(x)
'0x901f'
>>> struct.unpack('< H',struct.pack('> H',x))[0]
8080
>>>十六进制(8080)
'0x1f90'


I've been reading up a lot on stuct.pack and hex and the like.

I am trying to convert a decimal to hexidecimal with 2-bytes. Reverse the hex bit order, then convert it back into decimal.

I'm trying to follow these steps...in python

Convert the decimal value **36895** to the equivalent 2-byte hexadecimal value:

**0x901F**
Reverse the order of the 2 hexadecimal bytes:

**0x1F90**
Convert the resulting 2-byte hexadecimal value to its decimal equivalent:

**8080**

解决方案

>>> x = 36895
>>> ((x << 8) | (x >> 8)) & 0xFFFF
8080
>>> hex(x)
'0x901f'
>>> struct.unpack('<H',struct.pack('>H',x))[0]
8080
>>> hex(8080)
'0x1f90'

这篇关于Python - 十进制到十六进制,反转字节顺序,十六进制到十进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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