确定字节序的最Pythonic方式是什么?

50 投票
1 回答
18946 浏览
提问于 2025-04-15 13:56

我正在寻找一种最好的方法来判断我代码运行的机器是大端字节序还是小端字节序。我有一个可以用的解决方案(虽然我还没有在大端机器上测试过),但感觉有点笨拙:

import struct
little_endian = (struct.pack('@h', 1) == struct.pack('<h', 1))

这个方法只是把一个“本地”的两字节数据包和一个小端数据包进行比较。有没有更好看的方法呢?

1 个回答

117

答案在于 sys模块

>>> import sys
>>> sys.byteorder
'little'

当然,根据你的电脑不同,它可能会返回 'big'。不过你用的方法也肯定是可以的。

撰写回答