Tecnología

Inicio

Cómo Intercambia 8 bytes big endian en Python

Diferentes ordenadores y sistemas operativos siguen diferentes convenciones con respecto a la importancia de los bytes sucesivos que codifican un único valor numérico (típicamente, un número entero). En entornos big-endian, el primer byte es el más significativo uno; en entornos de pequeña endian, el primer byte es el menos significativo. Se puede escribir código en el lenguaje de programación Python que intercambia el orden de los bytes individuales que codifican un valor numérico de 8 bytes. Tal transformación convertirá una representación big-endian en ascendente hacia la izquierda, y viceversa.

Instrucciones

1 Codificar el valor de 8 bytes que desea intercambiar en un Python "bytearray", como en el siguiente ejemplo de código:

myByteList = [4,67,32,210,21,90,128,255]

myByteArray = bytearray (myByteList)

2 Iterar sobre la primera mitad de los ocho elementos de la bytearray, como en el siguiente ejemplo de código:

for i in range (4):

3 Procesar cada elemento bytearray mediante el canje que con su imagen especular de la otra mitad de la bytearray, como en el siguiente ejemplo de código:

for i in range (4):

temp = myByteArray [8-i + 1]

myByteArray [8-i + 1] = myByteArray [i]

myByteArray [i] = temp

Al final de la "para" bucle, el bytearray habrá sido completamente intercambiado.