将 HEX 字符串转换为 int

Converting HEX string into int

我需要帮助将我从 sql 获取的 varbinary 数据转换为 int,一次取 4 位。 从上面的代码中,我获得的结果为('0x640761075D075A0 .....')。我的计划是取每 4 位并交换它(例如:0764 0761 07D5 等),然后将每 4 位转换为整数。我应该怎么办? 非常感谢!

试一试:

from struct import pack, unpack

def convert_hex_to_int(n:int, interval:int):
    splitted = [hex(n)[2:][i:i+interval] for i in range(0, len(hex(n)[2:]), interval)]
    return [unpack('<H', pack('>H', int(i, 16)))[0] for i in splitted]

print(convert_hex_to_int(0x640761075D07, 4))

它将 return list of int: [1892, 1889, 1885]