在python中拆分十六进制的最佳方法?
发布时间:2020-12-20 12:40:33 所属栏目:Python 来源:网络整理
导读:我对一般的十六进制很新,我有一个应用程序,需要我分割一个十六进制数.例如,给定数字0x607F,我需要返回高(0x60)或低(0x7F)字节. 这可能是实施,但感觉有点不完整.在python中有更标准的方法吗? def byte(integer,highlow): assert highlow=='high' or highlow=
我对一般的十六进制很新,我有一个应用程序,需要我分割一个十六进制数.例如,给定数字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' 顺便说一句,根据你需要的字节数,以及整数来自哪里,可能有更好的方法来做你需要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |