将HEX字符串转换为int [关闭]

问题描述 投票:-3回答:1

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

python sql hex floating-point-conversion varbinarymax
1个回答
2
投票

试试吧:

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))

它将返回listint[1892, 1889, 1885]

© www.soinside.com 2019 - 2024. All rights reserved.