我需要帮助将我从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))
它将返回list
的int
:[1892, 1889, 1885]