Pretvorite Bytearray v bajte v Pythonu

Convert Bytearray Bytes Python



Python podpira številne različne vrste podatkovnih objektov. Dva od njih sta predmeta bytearray in bajtov . The bytearray () funkcija vrne matrični objekt bajtov. Ta predmet je spremenljiv in podpira celo število od 0 do 255. bajti () funkcija vrne objekte bajtov, ni spremenljiva in podpira cela števila od 0 do 255. Ta članek bo opisal te funkcije in pojasnil, kako bytearray predmete lahko pretvorite v bajtov predmetov.

Sintaksa metode bytearray ()

bytearray ([vir podatkov[,kodiranje[,napake]]])

Trije argumenti te metode so neobvezni. Prvi argument se uporablja za inicializacijo seznama bajtov. Če je prvi argument niz, se za kodiranje uporabi drugi argument. Nazadnje se tretji argument uporabi za prikaz napake, če kodiranje ne uspe.







Metoda sintakse bajtov ()

bajtov ([vir podatkov[,kodiranje[,napake]]])

Vsi argumenti bajti () funkcije so neobvezne, na primer bytearray () metoda. Funkcije teh argumentov so enake kot bytearray () zgoraj omenjeno metodo.



Metoda pretvorbe bytearray do bajtov v Pythonu je prikazano spodaj z uporabo nekaj preprostih primerov za boljše razumevanje tega procesa.



Primer 1: Pretvorite podatke s seznama iz bajtnega niza v bajte

Ko funkcija bytearray () vsebuje samo en argument, bo vrednost argumenta slovarska referenčna točka ali spremenljivka. Naslednji primer prikazuje, kako je mogoče slovarski objekt pretvoriti v predmet bajtnega niza in kako se lahko predmet bajt matrike nato pretvori v predmet bajtov. Nato se prva zanka for prikaže za prikaz vrednosti prevodne tabele kod ASCII, druga zanka for pa za prikaz znakov ustreznih kod ASCII.





#!/usr/bin/env python3

# Določite seznam
listdata= [72, 69, 76, 76, 79]
# Natisnite vsebino seznama
tiskanje(' nSlovarske vrednosti so: n',listdata)

# Inicializirajte objekt bytearray s seznamom
byteArrayObject= bytearray(listdata)
# Natisni vrednost predmeta bajtrnega polja
tiskanje(' nIzhod metode bytearray (): n',byteArrayObject)

# Pretvorite predmet bytearray v objekt bytes
byteObject= bajtov(byteArrayObject)
# Natisni vrednost predmeta bajtov
tiskanje(' nIzhodna metoda bytes (): n',byteObject)

tiskanje(' nVrednosti bajtov ASCII)
# Ponovite predmet bajtov z uporabo zanke
zaurevbyteObject:
tiskanje(ure,'',konec='')

tiskanje(' nNizne vrednosti bajtov ')
# Ponovite predmet bajtov z uporabo zanke
zaurevbyteObject:
tiskanje(chr(ure),'',konec='')

Izhod

Po zagonu skripta se prikaže naslednji izhod. Tu so 72, 69, 76 in 79 koda ASCII za 'H', 'E', 'L' in 'O'.



Primer 2: Pretvorite podatke o nizu iz bajtnega niza v bajte

Naslednji primer prikazuje pretvorbo predmetov bytearray v bajtne objekte v nizovnih podatkih. Pri metodi bytearray () tega skripta se uporabljata dva argumenta. Prvi argument vsebuje vrednost niza, drugi argument pa niz za kodiranje. Tu se kodiranje ‘utf-8’ uporablja za pretvorbo v objekt bajtrnega niza. The dekodiraj () metoda se uporablja v skriptu za pretvorbo predmetov bajtov v podatke niza. V času pretvorbe se uporablja isto kodiranje.

#!/usr/bin/env python3

# Vzemite vrednost niza
besedilo= vnos('Vnesite poljubno besedilo: n')

# Inicializirajte objekt bytearray z nizom in kodiranjem
byteArrObj= bytearray(besedilo, 'utf-8')
tiskanje(' nIzhod metode bytesarray (): n',byteArrObj)

# Pretvorite matriko v bajte
byteObj= bajtov(byteArrObj)
tiskanje(' nIzhodna metoda bytes (): n',byteObj)

# Pretvorite vrednost bajtov v niz z uporabo kodiranja
tiskanje(' nNizne vrednosti bajtov ')
tiskanje(byteObj.dekodirati('utf-8'))

Izhod

Po zagonu skripta se prikaže naslednji izhod.

Primer 3: Pretvorite celoštevilčne podatke iz bajtnega niza v bajte

Prejšnji primeri prikazujejo pretvorbo bajtrnega niza in bajtov na podlagi podatkov slovarja in niza. Ta tretji primer prikazuje pretvorbo bajtrnega niza v bajte na podlagi vhodnih podatkov. Tu se vhodna vrednost pretvori v celoštevilčno vrednost in kot funkcija posreduje kot funkcijo bytearray (), predmet bytearray pa se nato pretvori v objekt bajtov. Ničelne vrednosti, ki temeljijo na celovitem številu, so prikazane kot izhod predmeta bajtrnega niza in bajtov. Skupno število bajtov se šteje s pomočjo metode len () na koncu skripta in bo enako vrednosti celega števila, posredovani kot argument v metodo bytearray ().

#!/usr/bin/env python3

poskusite:
# Vzemite poljubno število
besedilo= int(vnos('Vnesite poljubno številko:'))

# Inicializirajte objekt bajtrnega niza s številko
byteArrObj= bytearray(besedilo)
tiskanje(' nIzhod metode bytesarray (): n',byteArrObj)

# Pretvarjanje predmeta bajt matrike v objekt bajtov
byteObj= bajtov(byteArrObj)
tiskanje(' nIzhodna metoda bytes (): n',byteObj)

# Natisnite velikost predmeta bajtov
tiskanje(' nDolžina predmeta bajtov: ',len(byteObj))
razen Napaka vrednosti:
tiskanje('Vnesite poljubno številsko vrednost')

Izhod

Po zagonu skripta se 6 vzame kot vhod v naslednjem izhodu. Šest ničelnih vrednosti je prikazanih kot izhod bytearray in bajtov. Ko se štejejo ničelne vrednosti, se prikaže 6.

Primer 4: Ustvarite bytearray z uporabo append () in Pretvori v bajte

Naslednji primer prikazuje, kako lahko objekte bytearray ustvarite z metodo append () in pretvorite v bajte. Spremenljivka arrVal je tukaj deklarirana kot objekt bajt matrike. Nato se metoda append () pokliče šestkrat, da se v matriko doda šest elementov. Kode ASCII znakov 'P', 'y', 't', 'h', 'o' in 'n' so 80, 121, 116, 104, 111 in 1120. Te so dodane v objekt bytearray. Ta objekt matrike se kasneje pretvori v objekt bajtov.

#!/usr/bin/env python3

# Ustvarite bytearray in dodajte element z metodo append ()
arrVal= bytearray()
arrVal.priloži(80)
arrVal.priloži(121)
arrVal.priloži(116)
arrVal.priloži(104)
arrVal.priloži(111)
arrVal.priloži(110)

# Natisnite vrednosti bytearray ()
tiskanje(' nIzhod metode bytearray (): n',arrVal)

# Pretvorite predmet bytearray v objekt bytes
byteObject= bajtov(arrVal)

# Natisni vrednost predmeta bajtov
tiskanje(' nIzhodna metoda bytes (): n',byteObject)

Izhod

Po zagonu skripta se prikaže naslednji izhod.

Zaključek

V tem članku so prikazane različne metode za pretvorbo bajtrnega niza v bajte po ustvarjanju predmetov bajtnega niza. Po branju tega članka upam, da razumete pojem bytearray in bajtov, poznate način pretvorbe bytearray v bajte in boste lahko prikazali izhod bajtov kot niz in znake.