与Determine the endianness of a numpy array
相关给定数组
x = np.arange(3)
我可以通过
获取字节顺序>>> x.dtype.byteorder
'='
如何判断这是大端还是小端?我希望将'<'
,'>'
或'|'
作为输出,而不是'='
。
要说清楚,我并不知道信息的格式是什么。我只想知道&#34;大端&#34;,&#34;小端&#34;或者&#34;无关紧要&#34;但是我不在乎它是否是本地的&#34;或不。
答案 0 :(得分:5)
可能只需查看sys.byteorder
即可。即使文档中的numpy.dtype.byteorder
examples使用sys.byteorder
来确定原生内容。
endianness_map = {
'>': 'big',
'<': 'little',
'=': sys.byteorder,
'|': 'not applicable',
}
答案 1 :(得分:1)
你可以交换两次endianness使numpy显示真正的endianness:
dtype_nonnative = dtype.newbyteorder('S').newbyteorder('S')
dtype_nonnative.byteorder