在 Python 中将字符串从大端转换为小端,反之亦然

新手上路,请多包涵

我有一个带有十六进制字符的长字符串。

例如:

 string = "AA55CC3301AA55CC330F234567"

我正在使用

string.to_bytes(4, 'little')

我希望最终的字符串如下所示:

 6745230F33CC55AA0133CC55AA

但我收到一个错误

AttributeError: 'str' object has no attribute 'to_bytes'

这里出了什么问题?

原文由 TimSandiego Hollister 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 849
1 个回答

to_bytes 仅适用于整数,afaik。

您可以使用 bytearray

 >>> ba = bytearray.fromhex("AA55CC3301AA55CC330F234567")
>>> ba.reverse()

要使用 format 将其转换回字符串:

 >>> s = ''.join(format(x, '02x') for x in ba)
>>> print(s.upper())
6745230F33CC55AA0133CC55AA

原文由 dkuers 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题