NumPy字節交換

NumPy - 字節交換

我們已經知道,存儲在計算機內存中的數據取決於 CPU 使用的架構。 它可以是小端(最小有效位存儲在最小地址中)或大端(最小有效字節存儲在最大地址中)。

numpy.ndarray.byteswap()

numpy.ndarray.byteswap()函數在兩個表示:大端和小端之間切換。

import numpy as np 
a = np.array([1,  256,  8755], dtype = np.int16)  
print  '我們的數組是:'  
print a 
print  '以十六進制表示內存中的數據:'  
print map(hex,a)  
# byteswap() 函數通過傳入 true 來原地交換 
print  '調用 byteswap() 函數:'  
print a.byteswap(True)  
print  '十六進制形式:'  
print map(hex,a)  
# 我們可以看到字節已經交換了

輸出如下:

我們的數組是:
[1 256 8755]

以十六進制表示內存中的數據:
['0x1', '0x100', '0x2233']

調用 byteswap() 函數:
[256 1 13090]

十六進制形式:
['0x100', '0x1', '0x3322']