我正在尝试编写一种将十六进制字转换为有符号整数的方法。我想使用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中有没有很好的简单方法呢?
答案 0 :(得分:1)
使用int
转换为无符号整数,然后手动转换为signed。
def word_to_int(hex_str):
value = int(hex_str, 16)
if value > 127:
value = value-256
return value