Pitone

Converti Bytearray in Byte in Python

Converti Bytearray in Byte in Python
Python supporta molti tipi diversi di oggetti dati. Due di loro sono gli oggetti bytearray e byte. Il bytearray() la funzione restituisce un oggetto array di byte. Questo oggetto è modificabile e supporta il numero intero da 0 a 255. Il byte() la funzione restituisce oggetti byte, non è modificabile e supporta gli interi da 0 a 255. Questo articolo descriverà queste funzioni e spiegherà come bytearray gli oggetti possono essere convertiti in byte oggetti.

Sintassi del metodo bytearray()

bytearray ([ data_source [, codifica [, errori]]])

I tre argomenti di questo metodo sono opzionali. Il primo argomento viene utilizzato per inizializzare l'elenco di byte. Se il primo argomento è la stringa, il secondo argomento viene utilizzato per la codifica. Infine, il terzo argomento viene utilizzato per visualizzare l'errore se la codifica fallisce.

Sintassi del metodo bytes()

byte ([origine_dati [, codifica [, errori]]])

Tutti gli argomenti del byte() funzione sono opzionali, come il bytearray() metodo. Le funzioni di questi argomenti sono anche le stesse di bytearray() metodo, menzionato sopra.

Il metodo per convertire bytearray per byte in Python è mostrato di seguito, usando alcuni semplici esempi per una migliore comprensione di questo processo.

Esempio 1: convertire i dati dell'elenco da bytearray a byte

Quando la funzione bytearray() contiene un solo argomento, il valore dell'argomento sarà un dato o una variabile del dizionario. L'esempio seguente mostra come un oggetto dizionario può essere convertito in un oggetto bytearray e come un oggetto bytearray può essere convertito in un oggetto byte. Successivamente, il primo ciclo for viene utilizzato per visualizzare i valori della tabella di traduzione dei codici ASCII e il secondo ciclo for viene utilizzato per visualizzare i caratteri dei codici ASCII corrispondenti.

#!/usr/bin/env python3
 
# Definisci la lista
listdata = [72, 69, 76, 76, 79]
# Stampa il contenuto della lista
print("\nI valori del dizionario sono:\n", listdata)
 
# Inizializza l'oggetto bytearray con list
byteArrayObject = bytearray(listdata)
# Stampa il valore dell'oggetto bytearray
print("\nL'output del metodo bytearray() :\n", byteArrayObject)
 
# Converti l'oggetto bytearray in oggetto byte
byteObject = bytes(byteArrayObject)
# Stampa il valore dell'oggetto in byte
print("\nL'output del metodo bytes() :\n", byteObject)
 
print("\nI valori ASCII dei byte")
# Itera l'oggetto bytes usando loop
per val in byteObject:
print(val,", end=")
 
print("\nI valori stringa di byte")
# Itera l'oggetto bytes usando loop
per val in byteObject:
print(chr(val),", end=")

Produzione

Il seguente output apparirà dopo aver eseguito lo script. Qui, 72, 69, 76 e 79 sono il codice ASCII di "H", "E", "L" e "O", rispettivamente.

Esempio 2: convertire dati stringa da bytearray a byte

L'esempio seguente mostra la conversione di oggetti bytearray in oggetti byte in dati stringa. Nel metodo bytearray() di questo script vengono utilizzati due argomenti. Il primo argomento contiene il valore della stringa, mentre il secondo argomento contiene la stringa di codifica. Qui, la codifica 'utf-8' viene utilizzata per convertire in un oggetto bytearray. Il decodificare() viene utilizzato nello script per convertire gli oggetti byte in dati stringa. La stessa codifica viene utilizzata al momento della conversione.

#!/usr/bin/env python3
 
# Prendi un valore stringa
text = input("Inserisci un testo:\n")
 
# Inizializza l'oggetto bytearray con stringa e codifica
byteArrObj = bytearray(testo, 'utf-8')
print("\nL'output del metodo bytesarray() :\n", byteArrObj)
 
# Converti bytearray in byte
byteObj = byte(byteArrObj)
print("\nL'output del metodo bytes() :\n", byteObj)
 
# Converti il ​​valore dei byte in una stringa usando la codifica
print("\nI valori stringa di byte")
print(byteObj.decodifica("utf-8"))

Produzione

Il seguente output apparirà dopo aver eseguito lo script.

Esempio 3: convertire dati interi da bytearray a byte

Gli esempi precedenti mostrano la conversione di bytearray e byte in base a dizionario e dati di stringa string. Questo terzo esempio mostra la conversione di bytearray in byte in base ai dati di input. Qui, il valore di input viene convertito in un valore intero e passato come argomento tramite la funzione bytearray() e l'oggetto bytearray viene quindi convertito in un oggetto byte. I valori null basati sul numero intero sono mostrati come output dell'oggetto bytearray e bytes. Il numero totale di byte viene conteggiato tramite il metodo len() alla fine dello script e sarà uguale al valore intero passato come argomento nel metodo bytearray().

#!/usr/bin/env python3
 
provare:
# Prendi qualsiasi valore numerico
text = int(input("Inserisci un numero:  "))
 
# Inizializza l'oggetto bytearray con il numero
byteArrObj = bytearray(testo)
print("\nL'output del metodo bytesarray() :\n", byteArrObj)
 
# Converti oggetto bytearray in oggetto byte
byteObj = byte(byteArrObj)
print("\nL'output del metodo bytes() :\n", byteObj)
 
# Stampa la dimensione dell'oggetto byte
print("\nLa lunghezza dell'oggetto byte: ",len(byteObj))
tranne ValueError:
print("Inserisci un valore numerico")

Produzione

Dopo aver eseguito lo script, 6 viene preso come input nel seguente output. I sei valori null vengono visualizzati come output di bytearray e byte. Quando vengono contati i valori nulli, viene visualizzato 6.

Esempio 4: creare un array di byte utilizzando append() e Converti in byte

L'esempio seguente mostra come gli oggetti bytearray possono essere creati tramite il metodo append() e convertiti in byte. La variabile arrVal è dichiarata qui come oggetto bytearray. Successivamente, il metodo append() viene chiamato sei volte per aggiungere sei elementi nell'array. I codici ASCII dei caratteri 'P,"y,"t,"h,"o,' e 'n,' sono rispettivamente 80, 121, 116, 104, 111 e 1120. Questi vengono aggiunti nell'oggetto bytearray. Questo oggetto array viene convertito nell'oggetto bytes in seguito.

#!/usr/bin/env python3
# Crea un bytearray e aggiungi un elemento usando il metodo append()
arrVal = bytearray()
arrVal.append(80)
arrVal.append(121)
arrVal.append(116)
arrVal.append(104)
arrVal.append(111)
arrVal.append(110)
 
# Stampa i valori di bytearray()
print("\nL'output del metodo bytearray() :\n", arrVal)
 
# Converti l'oggetto bytearray in un oggetto byte
byteObject = bytes(arrVal)
 
# Stampa il valore dell'oggetto in byte
print("\nL'output del metodo bytes() :\n", byteObject)

Produzione

Il seguente output apparirà dopo aver eseguito lo script.

Conclusione

Vari metodi sono mostrati in questo articolo per convertire bytearray in byte dopo aver creato oggetti bytearray. Dopo aver letto questo articolo, spero che tu capisca il concetto di bytearray e byte, sappia come convertire bytearray in byte e sia in grado di visualizzare l'output di byte come stringa e caratteri.

Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...