A Bytearray konvertálása bájtra a Pythonban

Convert Bytearray Bytes Python



A Python számos különböző típusú adatobjektumot támogat. Közülük kettő a tárgy bytearray és bájt . Az bytearray () függvény egy bájtos tömbobjektumot ad vissza. Ez az objektum megváltoztatható, és támogatja a 0 és 255 közötti egész számot bájt () függvény bájt objektumokat ad vissza, nem változtatható, és támogatja a 0 és 255 közötti egész számokat. Ez a cikk leírja ezeket a függvényeket, és elmagyarázza, hogyan bytearray objektumok alakíthatók át bájt tárgyakat.

A bytearray () módszer szintaxisa

bytearray ([adatforrás[,kódolás[,hibákat]]])

A módszer három érve opcionális. Az első argumentum a bájtlista inicializálására szolgál. Ha az első argumentum a karakterlánc, akkor a második argumentumot használja a kódoláshoz. Végül a harmadik argumentum a hiba megjelenítésére szolgál, ha a kódolás sikertelen.







Bájtok szintaxisa () Módszer

bájt ([adatforrás[,kódolás[,hibákat]]])

Az összes érv a bájt () funkció opcionális, mint a bytearray () módszer. Ezen érvek funkciói is megegyeznek az bytearray () módszer, a fent említett.



Az átalakítás módja bytearray nak nek bájt A Python -ban az alábbiakban látható néhány egyszerű példa segítségével a folyamat jobb megértése érdekében.



1. példa: A listaadatok konvertálása bájtos tömbből bájtokba

Ha a bytearray () függvény csak egy argumentumot tartalmaz, akkor az argumentum értéke szótári nullapont vagy változó lesz. A következő példa bemutatja, hogyan lehet egy szótári objektumot bájtos objektummá alakítani, és hogyan lehet egy bájtos objektumot bájtobjektummá alakítani. Ezután az első ciklus az ASCII kódok fordítótáblájának értékeit jeleníti meg, a második ciklus pedig a megfelelő ASCII kódok karaktereit.





#!/usr/bin/env python3

# Határozza meg a listát
listdata= [72, 69, 76, 76, 79]
# Nyomtassa ki a lista tartalmát
nyomtatás(' nA szótár értékei a következők: n',listdata)

# Inicializálja a bytearray objektumot a listával
byteArrayObject= bytearray(listdata)
# Bájtos objektumérték nyomtatása
nyomtatás(' nA bytearray () módszer kimenete: n',byteArrayObject)

# Konvertálja a bytearray objektumot byte objektummá
byteObject= bájt(byteArrayObject)
# Bájtos objektumérték nyomtatása
nyomtatás(' nA byte () metódus kimenete: n',byteObject)

nyomtatás(' nA bájtok ASCII értékei)
# Ismételje meg a bájt objektumot hurok segítségével
számáraóraban benbyteObject:
nyomtatás(óra,'',vége='')

nyomtatás(' nA bájtok karakterlánc -értékei)
# Ismételje meg a bájt objektumot hurok segítségével
számáraóraban benbyteObject:
nyomtatás(chr(óra),'',vége='')

Kimenet

A szkript futtatása után a következő kimenet jelenik meg. Itt a 72, 69, 76 és 79 a „H”, „E”, „L” és „O” ASCII kód.



2. példa: A karakterlánc -adatok konvertálása bájtbájtból bájtokba

A következő példa a bytearray objektumok bájt objektumokká történő átalakítását mutatja be a karakterlánc adataiban. Ennek a szkriptnek a bytearray () módszerében két érvet használnak. Az első argumentum a karakterlánc értékét, míg a második argumentum a kódoló karakterláncot tartalmazza. Itt az „utf-8” kódolást bájtos objektummá alakítják. Az dekódolás () metódust használják a szkriptben a bájt objektumok karakterlánc -adatmá alakításához. Ugyanezt a kódolást használják az átalakításkor.

#!/usr/bin/env python3

# Vegyen egy karakterlánc értéket
szöveg= bemenet('Írjon be bármilyen szöveget: n')

# Inicializálja a bytearray objektumot karakterlánccal és kódolással
byteArrObj= bytearray(szöveg, 'utf-8')
nyomtatás(' nA bytesarray () módszer kimenete: n',byteArrObj)

# Konvertálja a bytearray -t bájtokba
byteObj= bájt(byteArrObj)
nyomtatás(' nA byte () metódus kimenete: n',byteObj)

# Konvertálja a bájt értékét karakterlánccá emkódolás segítségével
nyomtatás(' nA bájtok karakterlánc -értékei)
nyomtatás(byteObj.dekódolni('utf-8'))

Kimenet

A szkript futtatása után a következő kimenet jelenik meg.

3. példa: Egész adatok konvertálása bájtbájtból bájtokba

Az előző példák a bytearray és a byte konvertálását mutatják be a szótár és a string adatok alapján. Ez a harmadik példa a bytearray bájtba konvertálását mutatja be a bemeneti adatok alapján. Itt a bemeneti értéket egész értékké alakítják át, és argumentumként továbbítják a bytearray () függvényen keresztül, majd a bytearray objektumot bájt objektummá alakítják át. Az egész számon alapuló null értékek a bytearray és byte objektum kimeneteként jelennek meg. A bájtok teljes számát a szkript végén a len () metódus számolja, és ez megegyezik a bytearray () metódusban argumentumként megadott egész értékkel.

#!/usr/bin/env python3

próbáld ki:
# Vegyen bármilyen számértéket
szöveg= int(bemenet('Írjon be bármilyen számot:'))

# Inicializálja a bytearray objektumot a számmal
byteArrObj= bytearray(szöveg)
nyomtatás(' nA bytesarray () módszer kimenete: n',byteArrObj)

# Konvertálja a bytearray objektumot byte objektummá
byteObj= bájt(byteArrObj)
nyomtatás(' nA byte () metódus kimenete: n',byteObj)

# Nyomtassa ki a bájt objektum méretét
nyomtatás(' nA bájt objektum hossza: ',len(byteObj))
kivéve ValueError:
nyomtatás('Írjon be bármilyen számértéket')

Kimenet

A szkript futtatása után a 6 a bemenet a következő kimenetben. A hat nulla érték bájt és bájt kimeneteként jelenik meg. Ha a null értékeket számolja, akkor a 6 jelenik meg.

4. példa: Bájtos tömb létrehozása az append () használatával, és konvertálás bájtokba

A következő példa bemutatja, hogyan hozhatók létre bytearray objektumok az append () metódussal, és hogyan alakíthatók át bájtokba. Az arrVal változót itt bytearray objektumként deklarálják. Ezután az append () metódust hatszor hívjuk meg, hogy hat elemet adjunk hozzá a tömbhöz. A „P”, „y”, „t”, „h”, „o” és „n” karakterek ASCII -kódja 80, 121, 116, 104, 111 és 1120. Ezeket hozzáadjuk a bytearray objektumhoz. Ez a tömbobjektum később bájt objektummá alakul.

#!/usr/bin/env python3

# Hozzon létre bytearray -t, és adjon hozzá elemet az append () metódussal
arrVal= bytearray()
arrVal.mellékel(80)
arrVal.mellékel(121)
arrVal.mellékel(116)
arrVal.mellékel(104)
arrVal.mellékel(111)
arrVal.mellékel(110)

# Nyomtassa ki a bytearray () értékeket
nyomtatás(' nA bytearray () módszer kimenete: n',arrVal)

# Konvertálja a bytearray objektumot byte objektummá
byteObject= bájt(arrVal)

# Bájtos objektumérték nyomtatása
nyomtatás(' nA byte () metódus kimenete: n',byteObject)

Kimenet

A szkript futtatása után a következő kimenet jelenik meg.

Következtetés

Ebben a cikkben különböző módszerek láthatók a bytearray bájtra konvertálására bytearray objektumok létrehozása után. A cikk elolvasása után remélem, hogy megérti a bytearray és a byte fogalmát, tudja, hogyan lehet a bytearray -t bájtra konvertálni, és képes lesz a bájtok kimenetét karakterláncként és karakterként megjeleníteni.