python3 判断大小端的一种方法

这里用到了array.array('H', [1])来测试大小端,[1]可以转化为十六进制的0x0001,占两位,00位高位, 01位低位,通过第一位就可以判断大小端。

如果是小端,则转化为bytes应该如下:


>>> array.array('H', [1]).tostring()
b'x01x00'
>>>

  

如果是大端,则如下:

>>> array.array('H', [1]).tostring()
b'x00x01'
>>>

完整代码如下:

import array

def is_little_endian():
    a = array.array('H', [1]).tostring()
    if a[0] == 1:
        return True
    else:
        return False