Konverter Bytearray til Bytes i Python

Convert Bytearray Bytes Python



Mange forskjellige typer dataobjekter støttes av Python. To av dem er objektene bytearray og byte . De bytearray () funksjon returnerer et arrayobjekt med byte. Dette objektet kan endres og støtter heltallstallet fra 0 til 255. byte () funksjon returnerer byte -objekter, kan ikke endres og støtter heltallene fra 0 til 255. Denne artikkelen beskriver disse funksjonene og forklarer hvordan bytearray objekter kan konverteres til byte gjenstander.

Syntaks for bytearray () Metode

bytearray ([datakilde[,koding[,feil]]])

De tre argumentene for denne metoden er valgfrie. Det første argumentet brukes til å initialisere listen over byte. Hvis det første argumentet er strengen, brukes det andre argumentet for koding. Til slutt brukes det tredje argumentet for å vise feilen hvis kodingen mislykkes.







Syntaks for byte () Metode

byte ([datakilde[,koding[,feil]]])

Alle argumenter for byte () funksjonen er valgfri, som bytearray () metode. Funksjonene til disse argumentene er også de samme som bytearray () metode, nevnt ovenfor.



Metoden for å konvertere bytearray til byte i Python er vist nedenfor, ved hjelp av noen enkle eksempler for bedre forståelse av denne prosessen.



Eksempel 1: Konverter listedata fra bytearray til byte

Når bytearray () -funksjonen bare inneholder ett argument, vil verdien av argumentet være en ordbokdato eller variabel. Følgende eksempel viser hvordan et ordbokobjekt kan konverteres til et bytearray -objekt og hvordan et bytearray -objekt deretter kan konverteres til et byte -objekt. Deretter brukes den første for sløyfe til å vise verdiene i oversettelsestabellen for ASCII -koder, og den andre for løkken brukes til å vise tegnene i de tilsvarende ASCII -kodene.





#!/usr/bin/env python3

# Definer listen
listdata= [72, 69, 76, 76, 79]
# Skriv ut innholdet i listen
skrive ut(' nOrdlisteverdiene er: n',listdata)

# Initialiser bytearray -objekt med liste
byteArrayObject= bytearray(listdata)
# Skriv ut verdien av objektet for bytrayray
skrive ut(' nUtdata fra bytearray () -metoden: n',byteArrayObject)

# Konverter bytearray -objektet til byte -objekt
byteObject= byte(byteArrayObject)
# Skriv ut byte -objektverdi
skrive ut(' nMetoden for produksjon av byte (): n',byteObject)

skrive ut(' nASCII -verdiene for byte ')
# Iterer byte -objektet ved hjelp av loop
tiltimeribyteObject:
skrive ut(timer,'',slutt='')

skrive ut(' nStrengverdiene til byte ')
# Iterer byte -objektet ved hjelp av loop
tiltimeribyteObject:
skrive ut(chr(timer),'',slutt='')

Produksjon

Følgende utdata vises etter at skriptet er kjørt. Her er 72, 69, 76 og 79 ASCII -koden til henholdsvis 'H', 'E', 'L' og 'O'.



Eksempel 2: Konverter strengdata fra bytearray til byte

Følgende eksempel viser konvertering av bytearray -objekter til byte -objekter i strengdata. To argumenter brukes i metoden bytearray () i dette skriptet. Det første argumentet inneholder strengverdien, mens det andre argumentet inneholder kodestrengen. Her brukes 'utf-8' -koding for å konvertere til et bytearray-objekt. De dekode() metode brukes i skriptet for å konvertere byte -objektene til strengdata. Den samme kodingen brukes på konverteringstidspunktet.

#!/usr/bin/env python3

# Ta en strengverdi
tekst= input('Skriv inn hvilken som helst tekst: n')

# Initialiser bytearray -objekt med streng og koding
byteArrObj= bytearray(tekst, 'utf-8')
skrive ut(' nUtdata fra metoden bytesarray (): n',byteArrObj)

# Konverter bytearray til byte
byteObj= byte(byteArrObj)
skrive ut(' nMetoden for produksjon av byte (): n',byteObj)

# Konverter byteverdi til streng ved hjelp av emcoding
skrive ut(' nStrengverdiene til byte ')
skrive ut(byteObj.dekode('utf-8'))

Produksjon

Følgende utdata vises etter at skriptet er kjørt.

Eksempel 3: Konverter hele talldata fra bytearray til byte

De tidligere eksemplene viser konvertering av bytearray og byte basert på ordbok- og strengdata. Dette tredje eksemplet viser konvertering av bytearray til byte basert på inndataene. Her blir inngangsverdien konvertert til en heltallsverdi og sendt som et argument via funksjonen bytearray (), og bytearray -objektet blir deretter konvertert til et byte -objekt. Nullverdiene basert på heltallstallet vises som en utgang fra bytearray- og byte -objektet. Det totale antall byte telles via len () -metoden på slutten av skriptet, og vil være lik helhetsverdien som sendes som et argument inn i bytearray () -metoden.

#!/usr/bin/env python3

prøve:
# Ta en hvilken som helst tallverdi
tekst= int(input('Skriv inn et hvilket som helst nummer:'))

# Initialiser bytearray -objekt med nummer
byteArrObj= bytearray(tekst)
skrive ut(' nUtdata fra metoden bytesarray (): n',byteArrObj)

# Konverter bytearray -objekt til byte -objekt
byteObj= byte(byteArrObj)
skrive ut(' nMetoden for produksjon av byte (): n',byteObj)

# Skriv ut størrelsen på byte -objektet
skrive ut(' nLengden på byteobjektet: ',len(byteObj))
unntatt ValueError:
skrive ut('Skriv inn en hvilken som helst numerisk verdi')

Produksjon

Etter å ha kjørt skriptet, blir 6 tatt som input i følgende utdata. De seks nullverdiene vises som utdataene fra bytearray og byte. Når nullverdiene telles, vises det 6.

Eksempel 4: Lag bytearray ved hjelp av append () og konverter til byte

Følgende eksempel viser hvordan bytearray -objekter kan opprettes via metoden append () og konverteres til byte. ArrVal -variabelen er deklarert her som et bytearray -objekt. Deretter kalles metoden append () seks ganger for å legge til seks elementer i matrisen. ASCII -kodene til tegnene 'P', 'y', 't', 'h', 'o' og 'n' er henholdsvis 80, 121, 116, 104, 111 og 1120. Disse legges til i bytearray -objektet. Dette arrayobjektet blir senere konvertert til byte -objektet.

#!/usr/bin/env python3

# Lag bytearray og legg til element ved hjelp av metoden append ()
arrVal= bytearray()
arrVal.legge til(80)
arrVal.legge til(121)
arrVal.legge til(116)
arrVal.legge til(104)
arrVal.legge til(111)
arrVal.legge til(110)

# Skriv ut bytearray () -verdiene
skrive ut(' nUtdata fra bytearray () -metoden: n',arrVal)

# Konverter bytearray -objektet til et byte -objekt
byteObject= byte(arrVal)

# Skriv ut byte -objektverdi
skrive ut(' nMetoden for produksjon av byte (): n',byteObject)

Produksjon

Følgende utdata vises etter at skriptet er kjørt.

Konklusjon

Ulike metoder er vist i denne artikkelen for å konvertere bytearray til byte etter å ha opprettet bytearray -objekter. Etter å ha lest denne artikkelen, håper jeg at du forstår begrepet bytearray og byte, vet hvordan du konverterer bytearray til byte og kan vise utdataene av byte som streng og tegn.