加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在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'

顺便说一句,根据你需要的字节数,以及整数来自哪里,可能有更好的方法来做你需要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读