Premeňte Bytearray na bajty v Pythone

Convert Bytearray Bytes Python



Python podporuje mnoho rôznych typov dátových objektov. Dva z nich sú objekty byť preč a bajtov . The bytearray () funkcia vracia objekt poľa v bajtoch. Tento objekt je vymeniteľný a podporuje celočíselné číslo od 0 do 255. The bajtov () funkcia vracia bajtové objekty, nie je možné ju meniť a podporuje celé čísla od 0 do 255. Tento článok popíše tieto funkcie a vysvetlí, ako byť preč Objekty je možné previesť na bajtov predmety.

Syntax metódy bytearray ()

byť preč ([dátový zdroj[,kódovanie[,chyby]]])

Tri argumenty tejto metódy sú voliteľné. Prvý argument sa používa na inicializáciu zoznamu bajtov. Ak je prvým argumentom reťazec, potom sa na kódovanie použije druhý argument. Nakoniec tretí argument slúži na zobrazenie chyby, ak kódovanie zlyhá.







Syntax bajtov () Metóda

bajtov ([dátový zdroj[,kódovanie[,chyby]]])

Všetky argumenty súboru bajtov () funkcie sú voliteľné, ako napr bytearray () metóda. Funkcie týchto argumentov sú tiež rovnaké ako bytearray () metóda, uvedená vyššie.



Metóda prevodu byť preč do bajtov v Pythone je zobrazené nižšie pomocou niekoľkých jednoduchých príkladov na lepšie pochopenie tohto procesu.



Príklad 1: Previesť údaje zoznamu z bytearray na bajty

Keď funkcia bytearray () obsahuje iba jeden argument, hodnotou argumentu bude údaj alebo premenná slovníka. Nasledujúci príklad ukazuje, ako je možné objekt slovníka previesť na objekt bytearray a ako je možné objekt bytearray potom previesť na objekt typu byte. Ďalej sa prvá slučka for používa na zobrazenie hodnôt prekladovej tabuľky kódov ASCII a druhá slučka for sa používa na zobrazenie znakov zodpovedajúcich kódov ASCII.





#!/usr/bin/env python3

# Definujte zoznam
listdata= [72, 69, 76, 76, 79]
# Vytlačte obsah zoznamu
vytlačiť(' nHodnoty slovníka sú: n',listdata)

# Inicializujte bytearray objekt pomocou zoznamu
byteArrayObject= byť preč(listdata)
# Vytlačte hodnotu objektu bytearray
vytlačiť(' nVýstup metódy bytearray (): n',byteArrayObject)

# Preveďte objekt bytearray na objekt v bajtoch
byteObject= bajtov(byteArrayObject)
# Vytlačte hodnotu objektu v bajtoch
vytlačiť(' nMetóda výstupu bajtov (): n',byteObject)

vytlačiť(' nHodnoty ASCII bajtov)
# Opakujte objekt bajtov pomocou slučky
prehodvbyteObject:
vytlačiť(hod,'',koniec='')

vytlačiť(' nReťazcové hodnoty bajtov)
# Opakujte objekt bajtov pomocou slučky
prehodvbyteObject:
vytlačiť(chr(hod),'',koniec='')

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup. Tu 72, 69, 76 a 79 predstavujú kód ASCII „H“, „E“, „L“ a „O“.



Príklad 2: Previesť reťazcové údaje z bytearray na bajty

Nasledujúci príklad ukazuje konverziu objektov bytearray na bajtové objekty v reťazcových dátach. V metóde bytearray () tohto skriptu sú použité dva argumenty. Prvý argument obsahuje hodnotu reťazca, zatiaľ čo druhý argument obsahuje kódujúci reťazec. Tu sa kódovanie „utf-8“ používa na konverziu na objekt bytearray. The dekódovať () V skripte sa používa metóda na prevod objektov bajtov na reťazcové údaje. V čase prevodu sa používa rovnaké kódovanie.

#!/usr/bin/env python3

# Vezmite reťazcovú hodnotu
text= vstup('Zadajte ľubovoľný text: n')

# Inicializujte bytearray objekt pomocou reťazca a kódovania
byteArrObj= byť preč(text, 'utf-8')
vytlačiť(' nVýstup metódy bytesarray (): n',byteArrObj)

# Previesť bytearray na bajty
byteObj= bajtov(byteArrObj)
vytlačiť(' nMetóda výstupu bajtov (): n',byteObj)

# Konvertujte hodnotu bajtov na reťazec pomocou emcodingu
vytlačiť(' nReťazcové hodnoty bajtov)
vytlačiť(byteObj.dekódovať('utf-8'))

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup.

Príklad 3: Konvertujte celočíselné údaje z bytearray na bajty

Predchádzajúce príklady ukazujú prevod bytearray a bajtov na základe slovníkových a reťazcových údajov. Tento tretí príklad ukazuje konverziu bytearray na bajty na základe vstupných údajov. Tu sa vstupná hodnota prevedie na celočíselnú hodnotu a odovzdá sa ako argument prostredníctvom funkcie bytearray () a objekt bytearray sa potom prevedie na objekt bajtov. Hodnoty null na základe celého čísla sú zobrazené ako výstup z objektu bytearray a bajtov. Celkový počet bajtov sa počíta pomocou metódy len () na konci skriptu a bude sa rovnať celočíselnej hodnote odovzdanej ako argument do metódy bytearray ().

#!/usr/bin/env python3

skúsiť:
# Vezmite akúkoľvek číselnú hodnotu
text= int(vstup(„Zadajte ľubovoľné číslo:“))

# Inicializujte bytearray objekt pomocou čísla
byteArrObj= byť preč(text)
vytlačiť(' nVýstup metódy bytesarray (): n',byteArrObj)

# Previesť objekt bytearray na bajtový objekt
byteObj= bajtov(byteArrObj)
vytlačiť(' nMetóda výstupu bajtov (): n',byteObj)

# Vytlačte veľkosť objektu bajtov
vytlačiť(' nDĺžka objektu bajtov: ',len(byteObj))
okrem ValueError:
vytlačiť(„Zadajte ľubovoľnú číselnú hodnotu“)

Výkon

Po spustení skriptu je 6 považovaný za vstup v nasledujúcom výstupe. Šesť nulových hodnôt sa zobrazí ako výstup bytearray a bajtov. Keď sa spočítajú nulové hodnoty, zobrazí sa 6.

Príklad 4: Vytvorte bytearray pomocou príkazu append () a Previesť na bajty

Nasledujúci príklad ukazuje, ako je možné objekty bytearray vytvárať pomocou metódy append () a prevádzať ich na bajty. Premenná arrVal je tu deklarovaná ako objekt bytearray. Ďalej sa metóda append () volá šesťkrát, aby sa do poľa pridalo šesť prvkov. ASCII kódy znakov „P“, „y“, „t“, „h“, „o“ a „n“ sú 80, 121, 116, 104, 111 a 1120. Tieto sa pridajú do objektu bytearray. Tento objekt poľa sa neskôr prevedie na objekt bajtov.

#!/usr/bin/env python3

# Vytvorte bytearray a pridajte položku pomocou metódy append ()
arrVal= byť preč()
arrVal.priložiť(80)
arrVal.priložiť(121)
arrVal.priložiť(116)
arrVal.priložiť(104)
arrVal.priložiť(111)
arrVal.priložiť(110)

# Vytlačte hodnoty bytearray ()
vytlačiť(' nVýstup metódy bytearray (): n',arrVal)

# Preveďte objekt bytearray na objekt v bajtoch
byteObject= bajtov(arrVal)

# Vytlačte hodnotu objektu v bajtoch
vytlačiť(' nMetóda výstupu bajtov (): n',byteObject)

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup.

Záver

V tomto článku sú zobrazené rôzne metódy na konverziu bytearray na bajty po vytvorení bytearray objektov. Po prečítaní tohto článku dúfam, že porozumiete pojmu bytearray a bajtov, poznáte spôsob, ako previesť bytearray na bajty, a budete schopný zobraziť výstup bajtov ako reťazec a znaky.