拆分十六进制的最佳方式是什么? [英] Best way to split a hexadecimal?

查看:33
本文介绍了拆分十六进制的最佳方式是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一般情况下,我对十六进制还很陌生,而且我有一个应用程序需要我拆分十六进制数。例如,给定数字0x607F,我需要返回高(0x60)或低(0x7F)字节。

这是May的实现,虽然感觉有点闭合。在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'

btw,根据您需要字节的用途以及整数的来源,可能有更好的方法来执行您需要的操作。

这篇关于拆分十六进制的最佳方式是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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