¿Cómo convertir bytes a int en Python?

Un objeto de bytes se puede convertir a un valor entero fácilmente usando Python. Python nos proporciona varios métodos integrados como from_bytes() así como clases para llevar a cabo esta interconversión.

método int.from_bytes()

Un valor de byte se puede intercambiar por un valor int mediante el método int.from_bytes(). Este método requiere al menos Python 3.2 y tiene la siguiente sintaxis: 

Sintaxis: int.from_bytes(bytes, orden de bytes, *, firmado=Falso)

Parámetros:

  • bytes: un objeto de bytes 
  • byteorder: determina el orden de representación del valor entero. 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. El orden de bytes grandes calcula el valor de un número entero en base 256. 
  • firmado – Valor predeterminado – Falso. Indica si representar el complemento a 2 de un número. 

Devuelve: un int equivalente al byte dado

Los siguientes fragmentos indican la conversión de byte a objeto int. 

Ejemplo 1:

Python3

# declaring byte value
byte_val = b'\x00\x01'
  
# converting to int
# byteorder is big where MSB is at start
int_val = int.from_bytes(byte_val, "big")
  
# printing int equivalent
print(int_val)

Producción:

1

Ejemplo 2:

Python3

byte_val = b'\x00\x10'
  
int_val = int.from_bytes(byte_val, "little")
  
# printing int object
print(int_val)

Producción:

4096

Ejemplo 3:

Python3

byte_val = b'\xfc\x00'
  
# 2's complement is enabled in big 
# endian byte order format
int_val = int.from_bytes(byte_val, "big", signed="True")
  
# printing int object
print(int_val)

Producción:

-1024

Publicación traducida automáticamente

Artículo escrito por yashkumar0457 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *