Pretvorite Bytearray u bajtove u Pythonu

Convert Bytearray Bytes Python

Python podržava mnoge različite vrste podatkovnih objekata. Dva od njih su objekti bytearray i bajtova . The bytearray () funkcija vraća objekt niza od bajtova. Ovaj objekt je promjenjiv i podržava cijeli broj od 0 do 255. bajtova () funkcija vraća bajtne objekte, nije promjenjiva i podržava cijele brojeve od 0 do 255. Ovaj članak će opisati te funkcije i objasniti kako bytearray objekti se mogu pretvoriti u bajtova objekti.

Sintaksa metode bytearray ()

bytearray ([izvor podataka[,kodiranje[,pogreške]]])

Tri argumenta ove metode su izborna. Prvi argument koristi se za inicijalizaciju popisa bajtova. Ako je prvi argument niz, tada se drugi argument koristi za kodiranje. Konačno, treći argument koristi se za prikaz pogreške ako kodiranje ne uspije.



Sintaksa metode bytes ()

bajtova ([izvor podataka[,kodiranje[,pogreške]]])

Svi argumenti bajtova () funkcije su izborne, poput bytearray () metoda. Funkcije ovih argumenata također su iste kao i bytearray () gore spomenutu metodu.



Način pretvaranja bytearray do bajtova u Pythonu prikazan je dolje, koristeći neke jednostavne primjere za bolje razumijevanje ovog procesa.



Primjer 1: Pretvorite podatke popisa iz bajt -niza u bajte

Kada funkcija bytearray () sadrži samo jedan argument, vrijednost argumenta bit će podatak iz rječnika ili varijabla. Sljedeći primjer prikazuje kako se objekt rječnika može pretvoriti u objekt s bajt -nizom i kako se objekt s bajt -nizom tada može pretvoriti u objekt s bajtom. Zatim se prva for petlja koristi za prikaz vrijednosti tablice prijevoda ASCII kodova, a druga for petlja za prikaz znakova odgovarajućih ASCII kodova.

#!/usr/bin/env python3

# Definirajte popis
listdata= [72, 69, 76, 76, 79]
# Ispišite sadržaj popisa
ispisati(' nVrijednosti rječnika su: n',listdata)

# Pokreni objekt bytearray s popisom
byteArrayObject= bytearray(listdata)
# Ispiši vrijednost objekta bytearray
ispisati(' nIzlaz bytearray () metode: n',byteArrayObject)

# Pretvorite objekt bytearray u objekt bytes
byteObject= bajtova(byteArrayObject)
# Ispis bajtova vrijednosti objekta
ispisati(' nIzlazna metoda bytes (): n',byteObject)

ispisati(' nASCII vrijednosti bajtova ')
# Iterirajte objekt bytes pomoću petlje
zasatiubyteObject:
ispisati(sati,'',kraj='')

ispisati(' nNiz vrijednosti bajta ')
# Iterirajte objekt bytes pomoću petlje
zasatiubyteObject:
ispisati(chr(sati),'',kraj='')

Izlaz

Sljedeći izlaz pojavit će se nakon pokretanja skripte. Ovdje su 72, 69, 76 i 79 ASCII kod za 'H', 'E', 'L' i 'O'.



Primjer 2: Pretvorite podatke niza iz bajt -niza u bajte

Sljedeći primjer prikazuje pretvorbu objekata bytearray u bajt objekte u nizu podataka. Dva se argumenta koriste u metodi bytearray () ove skripte. Prvi argument sadrži vrijednost niza, dok drugi argument sadrži niz kodiranja. Ovdje se kodiranje ‘utf-8’ koristi za pretvaranje u objekt bajtrnog niza. The dekodirati () metoda se koristi u skripti za pretvaranje objekata bytes u niz podataka. Isto kodiranje koristi se u vrijeme pretvorbe.

#!/usr/bin/env python3

# Uzmite vrijednost niza
tekst= ulazni('Unesite bilo koji tekst: n')

# Inicijalizirajte objekt bytearray nizom i kodiranjem
byteArrObj= bytearray(tekst, 'utf-8')
ispisati(' nIzlaz bytesarray () metode: n',byteArrObj)

# Pretvorite bytearray u bajte
byteObj= bajtova(byteArrObj)
ispisati(' nIzlazna metoda bytes (): n',byteObj)

# Pretvorite vrijednost bajtova u niz pomoću kodiranja
ispisati(' nNiz vrijednosti bajta ')
ispisati(byteObj.dekodirati('utf-8'))

Izlaz

Sljedeći izlaz pojavit će se nakon pokretanja skripte.

Primjer 3: Pretvorite cijeli broj podataka iz bajt -niza u bajte

Prethodni primjeri prikazuju pretvaranje bajtova i bajtova na temelju podataka iz rječnika i niza. Ovaj treći primjer prikazuje pretvaranje bajt -polja u bajte na temelju ulaznih podataka. Ovdje se ulazna vrijednost pretvara u cijelu vrijednost i prenosi kao argument putem funkcije bytearray (), a objekt bytearray se zatim pretvara u objekt bajtova. Nulte vrijednosti temeljene na cjelobrojnom broju prikazane su kao izlaz bytearray -a i bytes objekta. Ukupan broj bajtova računa se putem metode len () na kraju skripte i bit će jednak cijeloj vrijednosti koja se kao argument prenosi u metodu bytearray ().

#!/usr/bin/env python3

probati:
# Uzmite bilo koju vrijednost broja
tekst= int(ulazni('Unesite bilo koji broj:'))

# Pokreni objekt bytearray s brojem
byteArrObj= bytearray(tekst)
ispisati(' nIzlaz bytesarray () metode: n',byteArrObj)

# Pretvorite objekt bytearray u objekt bajtova
byteObj= bajtova(byteArrObj)
ispisati(' nIzlazna metoda bytes (): n',byteObj)

# Ispišite veličinu objekta bytes
ispisati(' nDuljina objekta bytes: ',len(byteObj))
osim ValueError:
ispisati('Unesite bilo koju brojčanu vrijednost')

Izlaz

Nakon pokretanja skripte, 6 se uzima kao ulaz u sljedećem ispisu. Šest nultih vrijednosti prikazano je kao izlaz bytearray -a i bajtova. Kad se broje nulte vrijednosti, tada se prikazuje 6.

Primjer 4: Stvorite niz bajtova pomoću append () i Pretvori u bajte

Sljedeći primjer pokazuje kako se objekti bytearray mogu stvoriti pomoću metode append () i pretvoriti u bajte. Varijabla arrVal ovdje je deklarirana kao objekt bytearray. Zatim se metoda append () poziva šest puta za dodavanje šest elemenata u niz. ASCII kodovi znakova 'P', 'y', 't', 'h', 'o' i 'n' su 80, 121, 116, 104, 111 i 1120. Oni se dodaju u objekt bytearray. Ovaj objekt niza kasnije se pretvara u objekt bajtova.

#!/usr/bin/env python3

# Napravite bajtrni niz i dodajte stavku pomoću metode append ()
arrVal= bytearray()
arrVal.dodati(80)
arrVal.dodati(121)
arrVal.dodati(116)
arrVal.dodati(104)
arrVal.dodati(111)
arrVal.dodati(110)

# Ispišite vrijednosti bytearray ()
ispisati(' nIzlaz bytearray () metode: n',arrVal)

# Pretvorite objekt bytearray u objekt bytes
byteObject= bajtova(arrVal)

# Ispis bajtova vrijednosti objekta
ispisati(' nIzlazna metoda bytes (): n',byteObject)

Izlaz

Sljedeći izlaz pojavit će se nakon pokretanja skripte.

Zaključak

U ovom članku prikazane su različite metode za pretvaranje bytearray u bajte nakon stvaranja objekata bytearray. Nadam se da ste nakon čitanja ovog članka razumjeli koncept bytearray -a i byte -a, da znate način pretvaranja bytearray -a u byte i da ćete moći prikazati izlaz bajtova kao niz i znakove.