Převeďte Bytearray na Byty v Pythonu

Convert Bytearray Bytes Python



Python podporuje mnoho různých typů datových objektů. Dva z nich jsou objekty být pryč a bajtů . The bytearray () funkce vrací pole objekt bajtů. Tento objekt je měnitelný a podporuje celočíselné číslo od 0 do 255. The bajtů () funkce vrací bajtové objekty, není měnitelná a podporuje celá čísla od 0 do 255. Tento článek popíše tyto funkce a vysvětlí, jak být pryč objekty lze převést na bajtů předměty.

Syntaxe metody bytearray ()

být pryč ([zdroj dat[,kódování[,chyby]]])

Tři argumenty této metody jsou volitelné. První argument se používá k inicializaci seznamu bajtů. Pokud je prvním argumentem řetězec, pak se pro kódování použije druhý argument. Nakonec třetí argument slouží k zobrazení chyby, pokud kódování selže.







Syntaxe metody bytes ()

bajtů ([zdroj dat[,kódování[,chyby]]])

Všechny argumenty bajtů () funkce jsou volitelné, jako bytearray () metoda. Funkce těchto argumentů jsou také stejné jako bytearray () výše zmíněná metoda.



Metoda převodu být pryč na bajtů v Pythonu je ukázáno níže pomocí několika jednoduchých příkladů pro lepší pochopení tohoto procesu.



Příklad 1: Převod dat seznamu z bytearray na bajty

Pokud funkce bytearray () obsahuje pouze jeden argument, bude hodnotou argumentu datum nebo proměnná slovníku. Následující příklad ukazuje, jak lze objekt slovníku převést na objekt bytearray a jak lze objekt bytearray poté převést na objekt typu byte. Dále první pro smyčku se používá k zobrazení hodnot překladové tabulky kódů ASCII a druhá pro smyčku se používá k zobrazení znaků odpovídajících kódů ASCII.





#!/usr/bin/env python3

# Definujte seznam
listdata= [72, 69, 76, 76, 79]
# Vytiskněte obsah seznamu
tisk(' nHodnoty slovníku jsou: n',listdata)

# Inicializujte objekt bytearray pomocí seznamu
byteArrayObject= být pryč(listdata)
# Vytiskněte hodnotu objektu bytearray
tisk(' nVýstup metody bytearray (): n',byteArrayObject)

# Převeďte objekt bytearray na bajtový objekt
byteObject= bajtů(byteArrayObject)
# Vytiskněte hodnotu objektu v bajtech
tisk(' nVýstup metody bytes (): n',byteObject)

tisk(' nHodnoty ASCII bajtů)
# Opakujte objekt bajtů pomocí smyčky
prohodvbyteObject:
tisk(hod,'',konec='')

tisk(' nŘetězcové hodnoty bajtů)
# Opakujte objekt bajtů pomocí smyčky
prohodvbyteObject:
tisk(chr(hod),'',konec='')

Výstup

Po spuštění skriptu se zobrazí následující výstup. Zde jsou 72, 69, 76 a 79 ASCII kódy „H“, „E“, „L“ a „O“.



Příklad 2: Převod řetězcových dat z bytearray na bajty

Následující příklad ukazuje převod objektů bytearray na bajtové objekty v řetězcových datech. V metodě bytearray () tohoto skriptu jsou použity dva argumenty. První argument obsahuje hodnotu řetězce, zatímco druhý argument obsahuje kódující řetězec. Zde se kódování „utf-8“ používá k převodu na objekt bytearray. The dekódovat() metoda se ve skriptu používá k převodu bajtových objektů na řetězcová data. V době převodu se používá stejné kódování.

#!/usr/bin/env python3

# Vezměte hodnotu řetězce
text= vstup('Zadejte libovolný text: n')

# Inicializujte objekt bytearray pomocí řetězce a kódování
byteArrObj= být pryč(text, 'utf-8')
tisk(' nVýstup metody bytesarray (): n',byteArrObj)

# Převést bytearray na bajty
byteObj= bajtů(byteArrObj)
tisk(' nVýstup metody bytes (): n',byteObj)

# Převod hodnoty bajtů na řetězec pomocí emcoding
tisk(' nŘetězcové hodnoty bajtů)
tisk(byteObj.dekódovat('utf-8'))

Výstup

Po spuštění skriptu se zobrazí následující výstup.

Příklad 3: Převést celočíselná data z bytearray na bajty

Předchozí příklady ukazují převod bytearray a bajtů na základě slovníkových a řetězcových dat. Tento třetí příklad ukazuje převod bytearray na bajty na základě vstupních dat. Zde je vstupní hodnota převedena na celočíselnou hodnotu a předána jako argument prostřednictvím funkce bytearray () a objekt bytearray je poté převeden na bajtový objekt. Hodnoty null na základě celého čísla jsou zobrazeny jako výstup objektu bytearray a bytes. Celkový počet bajtů se počítá pomocí metody len () na konci skriptu a bude se rovnat celočíselné hodnotě předané jako argument do metody bytearray ().

#!/usr/bin/env python3

Snaž se:
# Vezměte libovolnou číselnou hodnotu
text= int(vstup('Zadejte libovolné číslo:'))

# Inicializujte bytearray objekt číslem
byteArrObj= být pryč(text)
tisk(' nVýstup metody bytesarray (): n',byteArrObj)

# Převeďte objekt bytearray na bajtový objekt
byteObj= bajtů(byteArrObj)
tisk(' nVýstup metody bytes (): n',byteObj)

# Vytiskněte velikost objektu bajtů
tisk(' nDélka objektu bajtů: ',jen(byteObj))
až na ValueError:
tisk('Zadejte libovolnou číselnou hodnotu')

Výstup

Po spuštění skriptu je 6 považován za vstup v následujícím výstupu. Šest hodnot null se zobrazí jako výstup bytearray a bytů. Když se započítají hodnoty null, zobrazí se 6.

Příklad 4: Vytvořte bytearray pomocí příkazu append () a Převést na bajty

Následující příklad ukazuje, jak lze objekty bytearray vytvořit pomocí metody append () a převést je na bajty. Proměnná arrVal je zde deklarována jako objekt bytearray. Dále se metoda append () zavolá šestkrát, aby se do pole přidalo šest prvků. ASCII kódy znaků „P“, „y“, „t“, „h“, „o“ a „n“ jsou 80, 121, 116, 104, 111 a 1120. Ty jsou přidány do objektu bytearray. Tento objekt pole je později převeden na objekt bajtů.

#!/usr/bin/env python3

# Vytvořte bytearray a přidejte položku pomocí metody append ()
arrVal= být pryč()
arrVal.připojit(80)
arrVal.připojit(121)
arrVal.připojit(116)
arrVal.připojit(104)
arrVal.připojit(111)
arrVal.připojit(110)

# Vytiskněte hodnoty bytearray ()
tisk(' nVýstup metody bytearray (): n',arrVal)

# Převeďte objekt bytearray na objekt typu bytes
byteObject= bajtů(arrVal)

# Vytiskněte hodnotu objektu v bajtech
tisk(' nVýstup metody bytes (): n',byteObject)

Výstup

Po spuštění skriptu se zobrazí následující výstup.

Závěr

V tomto článku jsou uvedeny různé metody pro převod bytearray na bajty po vytvoření bytearray objektů. Doufám, že po přečtení tohoto článku porozumíte konceptu bytearray a bajtů, znáte způsob, jak převést bytearray na bajty, a umíte zobrazit výstup bajtů jako řetězec a znaky.