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