Krajta

Převést Bytearray na bajty v Pythonu

Převést Bytearray na bajty v Pythonu
Python podporuje mnoho různých typů datových objektů. Dva z nich jsou objekty bytearray a bajtů. The bytearray () funkce vrací objekt pole o bajtech. Tento objekt je měnitelný a podporuje celé číslo od 0 do 255. The bajty () funkce vrací bajtové objekty, nelze ji měnit a podporuje celá čísla od 0 do 255. Tento článek popisuje tyto funkce a vysvětluje jak bytearray objekty lze převést na bajtů předměty.

Syntaxe metody bytearray ()

bytearray ([data_source [, 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, použije se pro kódování druhý argument. Nakonec se třetí argument používá k zobrazení chyby, pokud kódování selže.

Syntaxe metody bytes ()

bajty ([data_source [, kódování [, chyby]]])

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

Metoda převodu bytearray na bajtů v Pythonu je ukázáno níže, s použitím několika jednoduchých příkladů pro lepší pochopení tohoto procesu.

Příklad 1: Převést data seznamu z bytearray na bajty

Pokud funkce bytearray () obsahuje pouze jeden argument, bude hodnotou argumentu slovníkový údaj nebo proměnná. Následující příklad ukazuje, jak lze objekt slovníku převést na objekt bytearray a jak lze objekt bytearray převést na bytový objekt. Dále se první smyčka for používá k zobrazení hodnot překladové tabulky kódů ASCII a druhá smyčka for 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
print ("\ nHodnoty slovníku jsou: \ n", listdata)
 
# Inicializujte objekt bytearray se seznamem
byteArrayObject = bytearray (listdata)
# Tisk hodnoty objektu bytearray
print ("\ nVýstup metody bytearray (): \ n", byteArrayObject)
 
# Převést objekt bytearray na bytový objekt
byteObject = bajty (byteArrayObject)
# Tisk bajtů hodnoty objektu
print ("\ nVýstup metody bytes (): \ n", byteObject)
 
print ("\ nHodnoty ASCII bajtů")
# Iterujte bajtový objekt pomocí smyčky
pro val v byteObject:
print (val, ", end =")
 
print ("\ nŘetězcové hodnoty bajtů")
# Iterujte bajtový objekt pomocí smyčky
pro val v byteObject:
print (chr (val), ", end =")

Výstup

Po spuštění skriptu se zobrazí následující výstup. Zde je 72, 69, 76 a 79 ASCII kód ​​'H, "E," L "a' O '.

Příklad 2: Převést řetězcová data 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 se používají dva argumenty. První argument obsahuje hodnotu řetězce, zatímco druhý argument obsahuje kódovací ř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 data řetězce. V době převodu se používá stejné kódování.

#!/ usr / bin / env python3
 
# Vezměte hodnotu řetězce
text = input ("Zadejte libovolný text: \ n")
 
# Inicializujte objekt bytearray pomocí řetězce a kódování
byteArrObj = bytearray (text, 'utf-8')
print ("\ nVýstup metody bytesarray (): \ n", byteArrObj)
 
# Převést bytearray na bajty
byteObj = bajty (byteArrObj)
print ("\ nVýstup metody bytes (): \ n", byteObj)
 
# Převést hodnotu bajtů na řetězec pomocí emcodingu
print ("\ nŘetězcové hodnoty bajtů")
print (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 bytů na základě slovníku 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 bytový objekt. Hodnoty null založené na celočíselném čísle se zobrazují 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 s číslem
byteArrObj = bytearray (text)
print ("\ nVýstup metody bytesarray (): \ n", byteArrObj)
 
# Převést objekt bytearray na objekt bajtů
byteObj = bajty (byteArrObj)
print ("\ nVýstup metody bytes (): \ n", byteObj)
 
# Tiskne velikost bajtového objektu
print ("\ nDélka objektu bajtů:", len (byteObj))
kromě 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 bajtů. Když se počítají nulové hodnoty, zobrazí se 6.

Příklad 4: Vytvořit bytearray pomocí 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 na bajty. Proměnná arrVal je zde deklarována jako objekt bytearray. Dále je metoda append () volána šestkrát, aby se do pole přidalo šest prvků. Kódy ASCII 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 se později převede na bytový objekt.

#!/ usr / bin / env python3
# Vytvořte bytearray a přidejte položku pomocí metody append ()
arrVal = bytearray ()
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 ()
print ("\ nVýstup metody bytearray (): \ n", arrVal)
 
# Převést objekt bytearray na bajtový objekt
byteObject = bajty (arrVal)
 
# Tisk bajtů hodnoty objektu
print ("\ 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 převodu bytearray na bajty po vytvoření bytearray objektů. Po přečtení tohoto článku doufám, že rozumíte konceptu bytearray a bajtů, znáte způsob převodu bytearray na bajty a umíte zobrazit výstup bajtů jako řetězec a znaky.

Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...
Hry Nejlepší linuxové distribuce pro hraní her v roce 2021
Nejlepší linuxové distribuce pro hraní her v roce 2021
Operační systém Linux má za sebou dlouhou cestu od svého původního, jednoduchého vzhledu založeného na serveru. Tento OS se v posledních letech nesmír...
Hry Jak zachytit a streamovat vaši herní relaci v systému Linux
Jak zachytit a streamovat vaši herní relaci v systému Linux
V minulosti bylo hraní her považováno pouze za koníček, ale postupem času došlo v herním průmyslu k obrovskému nárůstu z hlediska technologie a počtu ...