logo

Com convertir Int en bytes a Python?

Es pot utilitzar un objecte int per representar el mateix valor en el format del byte. El nombre sencer representa un byte, s'emmagatzema com una matriu amb el seu dígit més significatiu (MSB) emmagatzemat a l'inici o al final de la matriu.

Mètode 1: int.tobytes()



Un valor int es pot convertir en bytes mitjançant el mètode int.to_bytes(). El mètode s'invoca en un valor int, no és compatible amb Python 2 (requereix Python3 mínim) per a l'execució.

np punt

Sintaxi: int.to_bytes (longitud, ordre de bytes)

Arguments :



longitud: longitud desitjada de la matriu en bytes.

byteorder: ordre de la matriu per dur a terme la conversió d'un int a bytes. byteorder pot tenir valors com qualsevol poc on s'emmagatzema el bit més significatiu al final i el menys al principi, o bé gran , on MSB s'emmagatzema a l'inici i LSB al final.

Excepcions:



OverflowError es retorna en cas que la longitud del valor enter no sigui prou gran com per acollir-se a la longitud de la matriu.

Els programes següents il·lustren l'ús d'aquest mètode a Python:

Python 3


és greix proteic



# 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)>

>

>

Sortida

b'x00x05'>

Python 3




enter a cadena

# 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)>

>

>

Sortida

b'
x00x00x00x00'>

Mètode 2: Convertint enter en cadena i cadena en bytes

Aquest enfocament funciona és compatible amb les dues versions de Python, 2 i 3. Aquest mètode no pren la longitud de la matriu i l'ordre de bytes com a arguments.

  • Un valor sencer representat en format decimal es pot convertir primer en cadena utilitzant la funció str() , que pren com a argument el valor enter que s'ha de convertir a l'equivalent de cadena corresponent.
  • A continuació, aquest equivalent de cadena es converteix en una seqüència de bytes escollint la representació desitjada per a cada caràcter, és a dir, codificant el valor de la cadena. Això es fa mitjançant el mètode str.encode().

Python 3




# 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)>

>

menú desplegable javascript
>

Sortida

b'5'>