如何在Python 2-7中将十六进制字转换为有符号整数?

时间:2014-06-26 10:25:08

标签: python-2.7 python-3.x

我正在尝试编写一种将十六进制字转换为有符号整数的方法。我想使用python 2-7。在python3中,我可以执行以下操作

def word2int(hex_str):
    ba = bytes.fromhex(hex_str)
    return int.from_bytes(ba,byteorder='big',signed=True)

但是,这两种方法(即fromhex和from_bytes)都没有在python 2-7中定义。在Python 2-7中有没有很好的简单方法呢?

1 个答案:

答案 0 :(得分:1)

使用int转换为无符号整数,然后手动转换为signed。

def word_to_int(hex_str):
    value = int(hex_str, 16)
    if value > 127:
        value = value-256
    return value