Se puede usar un objeto int para representar el mismo valor en el formato del byte. El número entero representa un byte, se almacena como una array con su dígito más significativo (MSB) almacenado al principio o al final de la array.
Método 1: int.tobytes()
Un valor int se puede convertir en bytes usando el método int.to_bytes(). El método se invoca en un valor int, no es compatible con Python 2 (requiere un mínimo de Python3) para su ejecución.
Sintaxis: int.to_bytes(longitud, orden de bytes)
Argumentos :
longitud: longitud deseada de la array en bytes.
byteorder: orden de la array para realizar la conversión de un int a bytes. byteorder puede tener valores como «pequeño» , donde el bit más significativo se almacena al final y el menos al principio, o grande , donde el MSB se almacena al inicio y el LSB al final.
Excepciones:
OverflowError se devuelve en caso de que la longitud del valor entero no sea lo suficientemente grande como para acomodarse en la longitud de la array.
Los siguientes programas ilustran el uso de este método en Python:
Python3
# declaring an integer value integer_val = 5 # converting int to bytes with length # of the array as 2 and byter order as big bytes_val = integer_val.to_bytes(2, 'big') # printing integer in byte representation print(bytes_val)
b'\x00\x05'
Python3
# declaring an integer value integer_val = 10 # converting int to bytes with length # of the array as 5 and byter order as # little bytes_val = integer_val.to_bytes(5, 'little') # printing integer in byte representation print(bytes_val)
b'\n\x00\x00\x00\x00'
Método 2: convertir enteros en strings y strings en bytes
Este enfoque funciona y es compatible con ambas versiones de Python, 2 y 3. Este método no toma la longitud de la array y el orden de bytes como argumentos.
- Un valor entero representado en formato decimal se puede convertir primero en una string utilizando la función str() , que toma como argumento el valor entero que se convertirá en el equivalente de string correspondiente.
- Este equivalente de string se convierte luego en una secuencia de bytes eligiendo la representación deseada para cada carácter, es decir, codificando el valor de la string. Esto se hace mediante el método str.encode().
Python3
# declaring an integer value int_val = 5 # converting to string str_val = str(int_val) # converting string to bytes byte_val = str_val.encode() print(byte_val)
b'5'
Publicación traducida automáticamente
Artículo escrito por yashkumar0457 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA