English 中文(简体)
NumPy - Byte Swapping
  • 时间:2024-10-18

NumPy - Byte Swapping


Previous Page Next Page  

We have seen that the data stored in the memory of a computer depends on which architecture the CPU uses. It may be pttle-endian (least significant is stored in the smallest address) or big-endian (most significant byte in the smallest address).

numpy.ndarray.byteswap()

The numpy.ndarray.byteswap() function toggles between the two representations: bigendian and pttle-endian.

import numpy as np 
a = np.array([1, 256, 8755], dtype = np.int16) 

print  Our array is:  
print a  

print  Representation of data in memory in hexadecimal form:   
print map(hex,a)  
# byteswap() function swaps in place by passing True parameter 

print  Applying byteswap() function:  
print a.byteswap(True) 

print  In hexadecimal form:  
print map(hex,a) 
# We can see the bytes being swapped

It will produce the following output −

Our array is:
[1 256 8755]

Representation of data in memory in hexadecimal form:
[ 0x1 ,  0x100 ,  0x2233 ]

Applying byteswap() function:
[256 1 13090]

In hexadecimal form:
[ 0x100 ,  0x1 ,  0x3322 ]
Advertisements