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']