我有一个带有十六进制字符的长字符串。
例如:
string = "AA55CC3301AA55CC330F234567"
Run Code Online (Sandbox Code Playgroud)
我正在使用
string.to_bytes(4, 'little')
Run Code Online (Sandbox Code Playgroud)
我希望最终的字符串如下:
6745230F33CC55AA0133CC55AA
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误
AttributeError: 'str' object has no attribute 'to_bytes'
这里有什么问题?
to_bytes只适用于整数,据我所知。
你可以使用bytearray:
>>> ba = bytearray.fromhex("AA55CC3301AA55CC330F234567")
>>> ba.reverse()
Run Code Online (Sandbox Code Playgroud)
要将其转换回字符串,请使用format:
>>> s = ''.join(format(x, '02x') for x in ba)
>>> print(s.upper())
6745230F33CC55AA0133CC55AA
Run Code Online (Sandbox Code Playgroud)
Gur*_*ult -4
也许你可以反转字符串,其中一种方法是
string = "AA55CC3301AA55CC330F234567"[::-1]
Run Code Online (Sandbox Code Playgroud)