Un oggetto int può essere utilizzato per rappresentare lo stesso valore nel formato del byte. Il numero intero rappresenta un byte e viene archiviato come un array con la cifra più significativa (MSB) archiviata all'inizio o alla fine dell'array.
Metodo 1: int.tobytes()
Un valore int può essere convertito in byte utilizzando il metodo int.to_bytes(). Il metodo viene richiamato su un valore int, non è supportato da Python 2 (richiede almeno Python3) per l'esecuzione.
elenco di creazione Java
Sintassi: int.to_bytes(lunghezza, ordine byte)
argomenti :
length – lunghezza desiderata dell'array in byte.
byteorder – ordine dell'array per eseguire la conversione di un int in byte. byteorder può avere valori come entrambi poco dove il bit più significativo è memorizzato alla fine e quello meno significativo all'inizio, oppure grande , dove MSB è memorizzato all'inizio e LSB alla fine.
Eccezioni:
OverflowError viene restituito nel caso in cui la lunghezza del valore intero non sia sufficientemente grande da essere contenuta nella lunghezza dell'array.
I seguenti programmi illustrano l'utilizzo di questo metodo in 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)> |
>
parametro nello script di shell
>Produzione
b'x00x05'>
Python3
inserire la gestione delle eccezioni Java
# 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)> |
>
>Produzione
b' x00x00x00x00'>
Metodo 2: Conversione di un intero in stringa e di una stringa in byte
Questo approccio funziona ed è compatibile in entrambe le versioni di Python, 2 e 3. Questo metodo non accetta la lunghezza dell'array e l'ordine dei byte come argomenti.
- Un valore intero rappresentato in formato decimale può essere prima convertito in stringa utilizzando la funzione str() , che prende come argomento il valore intero da convertire nella corrispondente stringa equivalente.
- Questa stringa equivalente viene quindi convertita in una sequenza di byte scegliendo la rappresentazione desiderata per ciascun carattere, ovvero codificando il valore della stringa. Questo viene fatto dal metodo 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)> |
>
convertire booleano in stringa
>Produzione
b'5'>