一般来说,我对十六进制还很陌生,并且我有一个应用程序需要我分割十六进制数。例如,给定数字 0x607F,我需要返回高 (0x60) 或低 (0x7F) 字节。
这是可能的实现,但感觉有点麻烦。在 python 中是否有更标准的方法来做到这一点?
def byte(integer,highlow):
assert highlow=='high' or highlow=='low'
if highlow=='high':
return hex(int(bin(integer)[:-8],2))
if highlow=='low':
return hex(int(bin(integer)[-8:],2))
这将高字节和低字节作为元组返回:
def bytes(integer):
return divmod(integer, 0x100)
例如:
>>> high, low = bytes(0x607F)
>>> hex(high)
'0x60'
>>> hex(low)
'0x7f'
顺便说一句,根据您需要字节的用途以及整数的来源,可能有更好的方法来完成您需要的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)