在python中分割十六进制的最佳方法是什么? [英] Best way to split a hexadecimal in python?
问题描述
这可能是实现,它感觉有点奇怪虽然。有没有一种更加标准的方式来做到这一点在python中?
pre $ def byte(integer,highlow):
assert highlow =='high'或highlow =='low'
if highlow =='high':
return hex(int(bin(integer)[: - 8],2))
如果highlow =='low':
return hex(int(bin(integer)[ - 8:],2))
这将返回高位字节和低位字节作为元组:
def字节(整数):
返回divmod(整数,0x100)
<例如:
>>>高,低=字节(0x607F)
>>>十六进制(高)
'0x60'
>>>十六进制(低)
'0x7f'
顺便说一句, ,以及整数的来源,可能有更好的方法来做你需要的。
I'm pretty new to hexadecimal in general, and I've got an application that needs me to split a hexadecimal number. For example, given the number 0x607F, I would need to return the high (0x60) or low (0x7F) byte.
This is may implementation, it feels a little cloogy though. Is there a more standard way to do this in 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))
This returns the high byte and the low byte as a tuple:
def bytes(integer):
return divmod(integer, 0x100)
For example:
>>> high, low = bytes(0x607F)
>>> hex(high)
'0x60'
>>> hex(low)
'0x7f'
BTW, depending on what you need the bytes for, and where the integer came from, there might be much better ways to do what you need.
这篇关于在python中分割十六进制的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!