Konverter Bytearray til Bytes i Python

Convert Bytearray Bytes Python



Mange forskellige typer dataobjekter understøttes af Python. To af dem er objekterne bytearray og bytes . Det bytearray () funktion returnerer et matrixobjekt med bytes. Dette objekt kan ændres og understøtter heltalet fra 0 til 255. bytes () funktion returnerer bytes -objekter, kan ikke ændres og understøtter heltalene fra 0 til 255. Denne artikel beskriver disse funktioner og forklarer, hvordan bytearray objekter kan konverteres til bytes genstande.

Syntaks for bytearray () Metode

bytearray ([datakilde[,indkodning[,fejl]]])

De tre argumenter for denne metode er valgfri. Det første argument bruges til at initialisere listen over bytes. Hvis det første argument er strengen, bruges det andet argument til kodning. Endelig bruges det tredje argument til at vise fejlen, hvis kodningen mislykkes.







Syntaks for bytes () Metode

bytes ([datakilde[,indkodning[,fejl]]])

Alle argumenter for bytes () funktion er valgfri, ligesom bytearray () metode. Funktionerne i disse argumenter er også de samme som bytearray () metode, nævnt ovenfor.



Metoden til konvertering bytearray til bytes i Python er vist nedenfor ved hjælp af nogle enkle eksempler for bedre forståelse af denne proces.



Eksempel 1: Konverter liste data fra bytearray til bytes

Når bytearray () -funktionen kun indeholder ét argument, vil argumentets værdi være et ordbogsdato eller en variabel. Følgende eksempel viser, hvordan et ordbogsobjekt kan konverteres til et bytearray -objekt, og hvordan et bytearray -objekt derefter kan konverteres til et byte -objekt. Dernæst bruges den første til loop til at vise værdierne i oversættelsestabellen for ASCII -koder, og den anden til loop bruges til at vise tegnene i de tilsvarende ASCII -koder.





#!/usr/bin/env python3

# Definer listen
listdata= [72, 69, 76, 76, 79]
# Udskriv listens indhold
Print(' nOrdbogens værdier er: n',listdata)

# Initialiser bytearray -objekt med liste
byteArrayObject= bytearray(listdata)
# Udskriv værdi for objekt i objektet
Print(' nOutputtet af metoden bytearray (): n',byteArrayObject)

# Konverter bytearray -objektet til bytes -objekt
byteObject= bytes(byteArrayObject)
# Udskriv bytes objektværdi
Print(' nOutput af bytes () metode: n',byteObject)

Print(' nASCII -værdierne for bytes ')
# Iterer bytes -objektet ved hjælp af loop
tiltimeribyteObject:
Print(timer,'',ende='')

Print(' nStrengværdierne for bytes ')
# Iterer bytes -objektet ved hjælp af loop
tiltimeribyteObject:
Print(chr(timer),'',ende='')

Produktion

Følgende output vises efter at scriptet er kørt. Her er 72, 69, 76 og 79 ASCII -koden for henholdsvis 'H', 'E', 'L' og 'O'.



Eksempel 2: Konverter strengdata fra bytearray til bytes

Følgende eksempel viser konvertering af bytearray -objekter til byte -objekter i strengdata. To argumenter bruges i metoden bytearray () i dette script. Det første argument indeholder strengværdien, mens det andet argument indeholder kodningsstrengen. Her bruges 'utf-8' kodning til at konvertere til et bytearray-objekt. Det afkode () metode bruges i scriptet til at konvertere bytes -objekterne til strengedata. Den samme kodning bruges på konverteringstidspunktet.

#!/usr/bin/env python3

# Tag en strengværdi
tekst= input('Indtast enhver tekst: n')

# Initialiser bytearray -objekt med streng og kodning
byteArrObj= bytearray(tekst, 'utf-8')
Print(' nOutput af bytesarray () metode: n',byteArrObj)

# Konverter bytearray til bytes
byteObj= bytes(byteArrObj)
Print(' nOutput af bytes () metode: n',byteObj)

# Konverter bytes -værdi til streng ved hjælp af emcoding
Print(' nStrengværdierne for bytes ')
Print(byteObj.afkode('utf-8'))

Produktion

Følgende output vises efter at scriptet er kørt.

Eksempel 3: Konverter heltaldata fra bytearray til bytes

De tidligere eksempler viser konvertering af bytearray og bytes baseret på ordbogs- og strengdata. Dette tredje eksempel viser konvertering af bytearray til bytes baseret på inputdataene. Her konverteres inputværdien til en heltalsværdi og sendes som et argument via funktionen bytrayray (), og bytearray -objektet konverteres derefter til et bytes -objekt. Nulværdierne baseret på heltalet vises som et output fra bytearray- og bytes -objektet. Det samlede antal bytes tælles via len () -metoden i slutningen af ​​scriptet og vil være lig med hele talværdien, der sendes som et argument til metoden bytearray ().

#!/usr/bin/env python3

prøve:
# Tag en hvilken som helst talværdi
tekst= int(input('Indtast et vilkårligt nummer:'))

# Initialiser bytearray -objekt med nummer
byteArrObj= bytearray(tekst)
Print(' nOutput af bytesarray () metode: n',byteArrObj)

# Konverter bytearray -objekt til bytes -objekt
byteObj= bytes(byteArrObj)
Print(' nOutput af bytes () metode: n',byteObj)

# Udskriv størrelsen på bytes -objektet
Print(' nLængden af ​​bytes -objektet: ',len(byteObj))
undtagen ValueError:
Print('Indtast en hvilken som helst numerisk værdi')

Produktion

Efter at have kørt scriptet tages 6 som input i det følgende output. De seks nulværdier vises som output fra bytearray og bytes. Når nulværdierne tælles, viste det 6.

Eksempel 4: Opret bytearray ved hjælp af append () og konverter til bytes

Følgende eksempel viser, hvordan bytearray -objekter kan oprettes via metoden append () og konverteres til bytes. ArrVal -variablen erklæres her som et bytearray -objekt. Dernæst kaldes metoden append () seks gange for at tilføje seks elementer til arrayet. ASCII -koderne for tegnene 'P', 'y', 't', 'h', 'o' og 'n' er henholdsvis 80, 121, 116, 104, 111 og 1120. Disse tilføjes i bytearray -objektet. Dette array -objekt konverteres senere til bytes -objektet.

#!/usr/bin/env python3

# Opret bytearray og tilføj element ved hjælp af append () -metoden
arrVal= bytearray()
arrVal.Tilføj(80)
arrVal.Tilføj(121)
arrVal.Tilføj(116)
arrVal.Tilføj(104)
arrVal.Tilføj(111)
arrVal.Tilføj(110)

# Udskriv værdierne bytearray ()
Print(' nOutputtet af metoden bytearray (): n',arrVal)

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

# Udskriv bytes objektværdi
Print(' nOutput af bytes () metode: n',byteObject)

Produktion

Følgende output vises efter at scriptet er kørt.

Konklusion

Der vises forskellige metoder i denne artikel til konvertering af bytearray til bytes efter oprettelse af bytearray -objekter. Efter at have læst denne artikel håber jeg, at du forstår begrebet bytearray og bytes, kender måden at konvertere bytearray til bytes og kan vise output fra bytes som streng og tegn.