Python

Konverter Bytearray til Bytes i Python

Konverter Bytearray til Bytes i Python
Mange forskellige typer dataobjekter understøttes af Python. To af dem er genstandene bytearray og bytes. Det bytearray () funktion returnerer et array-objekt med byte. Dette objekt kan ændres og understøtter heltal fra 0 til 255. Det bytes () funktionen returnerer byteobjekter, 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 ([data_source [, kodning [, 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 [, kodning [, fejl]]])

Alle argumenter fra bytes () funktion er valgfri, ligesom bytearray () metode. Funktionerne af disse argumenter er også de samme som bytearray () ovennævnte metode.

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

Eksempel 1: Konverter listedata fra bytearray til bytes

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

#!/ usr / bin / env python3
 
# Definer listen
listdata = [72, 69, 76, 76, 79]
# Udskriv indholdet på listen
print ("\ n Ordbogsværdierne er: \ n", listdata)
 
# Initialiser bytearray-objektet med listen
byteArrayObject = bytearray (listdata)
# Udskriv værdien for bytearray-objekt
print ("\ nUdgangen af ​​bytearray () metode: \ n", byteArrayObject)
 
# Konverter bytearray-objektet til bytes-objekt
byteObject = bytes (byteArrayObject)
# Udskriv værdi for byteobjekt
print ("\ nOutput af bytes () metode: \ n", byteObject)
 
udskriv ("\ n ASCII-værdierne for byte")
# Iterér byteobjektet ved hjælp af loop
for val in byteObject:
print (val, ", end =")
 
print ("\ nStringværdierne for bytes")
# Iterér byteobjektet ved hjælp af loop
for val in byteObject:
print (chr (val), ", end =")

Produktion

Følgende output vises efter kørsel af scriptet. 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 byteobjekter i strengdata. To argumenter bruges i bytearray () -metoden 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 byteobjekterne til strengdata. Den samme kodning bruges på tidspunktet for konvertering.

#!/ usr / bin / env python3
 
# Tag en strengværdi
text = input ("Indtast enhver tekst: \ n")
 
# Initialiser bytearray-objekt med streng og kodning
byteArrObj = bytearray (tekst, 'utf-8')
print ("\ nUdgangen af ​​bytesarray () metode: \ n", byteArrObj)
 
# Konverter bytearray til bytes
byteObj = bytes (byteArrObj)
print ("\ nOutput af bytes () metode: \ n", byteObj)
 
# Konverter bytesværdi til streng ved hjælp af kodning
print ("\ nStringværdierne for bytes")
print (byteObj.afkode ("utf-8"))

Produktion

Følgende output vises efter kørsel af scriptet.

Eksempel 3: Konverter heltalsdata fra bytearray til bytes

De foregående eksempler viser konvertering af bytearray og bytes baseret på ordbog- og strengdata. Dette tredje eksempel viser konvertering af bytearray til bytes baseret på inputdataene. Her konverteres inputværdien til et heltal og overføres som et argument via funktionen bytearray (), og bytearray-objektet konverteres derefter til et byte-objekt. Nulværdierne baseret på heltal vises som et output af bytearray og bytes-objektet. Det samlede antal bytes tælles via len () -metoden i slutningen af ​​scriptet og vil være lig med det heltalsværdi, der sendes som et argument til bytearray () -metoden.

#!/ usr / bin / env python3
 
prøve:
# Tag en hvilken som helst talværdi
text = int (input ("Indtast et hvilket som helst nummer:"))
 
# Initialiser bytearray-objekt med nummer
byteArrObj = bytearray (tekst)
print ("\ nUdgangen 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å byteobjektet
print ("\ nByggeobjektets længde:", len (byteObj))
undtagen ValueError:
print ("Indtast en numerisk værdi")

Produktion

Efter kørsel af scriptet tages 6 som input i følgende output. De seks nulværdier vises som output fra bytearray og bytes. Når nulværdierne tælles, vises den 6.

Eksempel 4: Opret bytearray ved hjælp af append () og Convert to bytes

Det 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. Derefter kaldes metoden append () seks gange for at tilføje seks elementer i 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 byte-objektet.

#!/ usr / bin / env python3
# Opret bytearray og tilføj element ved hjælp af append () -metoden
arrVal = bytearray ()
arrVal.vedhæfte (80)
arrVal.tilføj (121)
arrVal.vedhæfte (116)
arrVal.vedhæfte (104)
arrVal.tilføj (111)
arrVal.tilføj (110)
 
# Udskriv værdierne for bytearray ()
print ("\ nUdgangen af ​​bytearray () metode: \ n", arrVal)
 
# Konverter bytearray-objektet til et byte-objekt
byteObject = bytes (arrVal)
 
# Udskriv værdi for byteobjekt
print ("\ nOutput af bytes () metode: \ n", byteObject)

Produktion

Følgende output vises efter kørsel af scriptet.

Konklusion

Forskellige metoder er vist 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 til at konvertere bytearray til bytes og være i stand til at vise output af bytes som streng og tegn.

Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...