簡體   English   中英

如何獲得numpy dtype的字節序

[英]How to get endianness of numpy dtype

確定numpy數組的字節順序相關

給定一個數組

x = np.arange(3)

我可以通過這樣做獲得字節順序

>>> x.dtype.byteorder
'='

如何判斷這是大端還是小端? 我想得到'<''>''|' 作為輸出,而不是'='

為了清楚起見,我不會掛斷信息的格式。我只想知道“大端”,“小端”或“無關”,但我不在乎它是否是“原生”。

可能只需檢查sys.byteorder 甚至文檔中的numpy.dtype.byteorder示例也使用sys.byteorder來確定本機的內容。

endianness_map = {
    '>': 'big',
    '<': 'little',
    '=': sys.byteorder,
    '|': 'not applicable',
}

你可以交換兩次endianness使numpy顯示真正的endianness:

dtype_nonnative = dtype.newbyteorder('S').newbyteorder('S')
dtype_nonnative.byteorder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM