Piton

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

A Bytearray konvertálása bájtokká a Pythonban
A Python sokféle típusú adatobjektumot támogat. Közülük kettő a tárgy bytearray és bájtokat. A bytearray () A function egy bájt tömb objektumot ad vissza. Ez az objektum változtatható és támogatja az egész számot 0 és 255 között. A bájtok () A function bájtobjektumokat ad vissza, nem változtatható meg, és támogatja a 0 és 255 közötti egész számokat. Ez a cikk leírja ezeket a funkciókat, és elmagyarázza, hogyan bytearray az objektumok átalakíthatók bájtokat tárgyakat.

A bytearray () módszer szintaxisa

bytearray ([adat_forrás [, kódolás [, hibák]]]]

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

A bájtok szintaxisa () Módszer

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

A. Összes érve bájtok () funkció opcionális, mint a bytearray () módszer. Ezen érvek funkciói is megegyeznek az bytearray () fent említett módszer.

A konverzió módszere bytearray nak nek bájtokat a Python-ban alább látható, néhány egyszerű példával a folyamat jobb megértése érdekében.

1. példa: Listaadatok konvertálása bájtrajzból bájtokká

Ha a bytearray () függvény csak egy argumentumot tartalmaz, akkor az argumentum értéke szótár nullapontja vagy változója lesz. A következő példa bemutatja, hogyan lehet egy szótár objektumot átalakítani bytearray objektummá, és hogyan lehet azután egy bytearray objektumot byte objektummá alakítani. Ezután az első ciklushoz az ASCII kódok fordítási táblázatának értékét, a másodikat a ciklushoz a megfelelő ASCII kódok karaktereinek megjelenítéséhez használja.

#!/ usr / bin / env python3
 
# Definiálja a listát
listadata = [72, 69, 76, 76, 79]
# Nyomtassa ki a lista tartalmát
print ("\ nA szótár értékei: \ n", listdata)
 
# Inicializálja a bytearray objektumot listával
byteArrayObject = bytearray (listadata)
# Nyomtatás bytearray objektum értékét
print ("\ nA bytearray () metódus kimenete: \ n", byteArrayObject)
 
# Konvertálja a bytearray objektumot byte objektummá
byteObject = bájt (byteArrayObject)
# Bájt objektum érték nyomtatása
print ("\ nBájtok kimenete () metódus: \ n", byteObject)
 
print ("\ nA bájtok ASCII értékei")
# Iterálja a bájt objektumot hurok segítségével
for val in byteObject:
nyomtatás (val, ", end =")
 
print ("\ nA bájt karakterlánc-értéke")
# Iterálja a bájt objektumot hurok segítségével
for val in byteObject:
nyomtatás (chr (val), ", end =")

Kimenet

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

2. példa: Karakterlánc-adatok konvertálása bájtrajzból bájtokká

A következő példa bemutatja a bytearray objektumok konvertálását byte objektumokká a string adatokban. Két argumentumot használunk a szkript bytearray () metódusában. Az első argumentum a karakterlánc értékét tartalmazza, míg a második argumentum a kódoló karakterláncot tartalmazza. Itt az 'utf-8' kódolást használják bytearray objektummá konvertálásra. A dekódolni () metódust használnak a szkriptben a bájt objektumok sztring adatokká alakítására. Az átalakításkor ugyanazt a kódolást használják.

#!/ usr / bin / env python3
 
# Vegyünk egy string értéket
text = input ("Írjon be bármilyen szöveget: \ n")
 
# Inicializálja a bytearray objektumot karakterlánccal és kódolással
byteArrObj = bytearray (szöveg, 'utf-8')
print ("\ nA bytesarray () metódus kimenete: \ n", byteArrObj)
 
# A bytearray átalakítása bájtokká
byteObj = bájt (byteArrObj)
print ("\ nA bájtok kimenete () metódus: \ n", byteObj)
 
# Konvertálja a bájt értékeket karakterláncokká emkódolással
print ("\ nA bájtok string értéke")
nyomtatás (byteObj.dekódolás ("utf-8"))

Kimenet

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

3. példa: Egész adatok konvertálása bájtrajzból bájtokká

Az előző példák a bytearray és byte átalakítását mutatják be szótár és string adatok alapján. Ez a harmadik példa bemutatja a bytearray bájtokká alakítását a bemeneti adatok alapján. Itt a bemeneti értéket egész számra konvertáljuk és argumentumként átadjuk a bytearray () függvényen keresztül, majd a bytearray objektumot bájt objektummá alakítjuk. Az egész számon alapuló nullértékek a bytearray és bytes objektum kimeneteként jelennek meg. A bájtok teljes számát a szkript végén lévő len () metódussal számoljuk, és megegyezik a bytearray () metódusban argumentumként átadott egész értékkel.

#!/ usr / bin / env python3
 
próbáld ki:
# Vegyünk tetszőleges számértéket
text = int (input ("Írjon be bármilyen számot:"))
 
# Inicializálja a bytearray objektumot számmal
byteArrObj = bytearray (szöveg)
print ("\ nA bytesarray () metódus kimenete: \ n", byteArrObj)
 
# Konvertálja a bytearray objektumot byte objektummá
byteObj = bájt (byteArrObj)
print ("\ nA bájtok kimenete () metódus: \ n", byteObj)
 
# Nyomtassa ki a bájt objektum méretét
print ("\ nA bájt objektum hossza:", len (byteObj))
kivéve ValueError:
print ("Adjon meg bármilyen számértéket")

Kimenet

A szkript futtatása után a 6-ot bemenetnek tekintjük a következő kimenetben. A hat nullérték a bytearray és byte kimeneteként jelenik meg. Amikor a null értékeket megszámoljuk, akkor a 6 jelenik meg.

4. példa: Hozzon létre bytearray-t az append () használatával és Convert byte-ként

A következő példa bemutatja, hogyan hozhatók létre bytearray objektumok az append () metóduson keresztül és konvertálhatók bájtokká. Az arrVal változó itt bytearray objektumként van deklarálva. Ezután az append () metódust hatszor hívjuk meg, hogy hat elemet adjunk a tömbhöz. A karakterek ASCII kódjai: 'P, "y", "t", "h", "o" és "n": 80, 121, 116, 104, 111 és 1120. Ezek hozzáadódnak a bytearray objektumhoz. Ezt a tömb objektumot a későbbiekben bájt objektummá alakítják.

#!/ usr / bin / env python3
# Hozzon létre bytearray-t és adjon hozzá elemet az append () módszerrel
arrVal = bytearray ()
arrVal.függelék (80)
arrVal.függelék (121)
arrVal.függelék (116)
arrVal.függelék (104)
arrVal.függelék (111)
arrVal.függelék (110)
 
# Nyomtassa ki a bytearray () értékeket
print ("\ nA bytearray () metódus kimenete: \ n", arrVal)
 
# Konvertálja a bytearray objektumot byte objektummá
byteObject = bájt (arrVal)
 
# Bájt objektumérték nyomtatása
print ("\ nBájtok kimenete () metódus: \ n", byteObject)

Kimenet

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

Következtetés

Ebben a cikkben különféle módszereket mutatunk be a bytearray bytekké konvertálására bytearray objektumok létrehozása után. A cikk elolvasása után remélem, hogy megértette a bájt és a bájt fogalmát, ismeri a bájt bájtra konvertálásának módját, és képes a bájt kimenetét karakterláncként és karakterként megjeleníteni.

A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...
A legjobb Linux-disztribútorok játékhoz 2021-ben
A Linux operációs rendszer hosszú utat tett meg eredeti, egyszerű, szerver alapú kinézetétől. Ez az operációs rendszer rendkívül javult az elmúlt évek...
Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...