Teisenda Bytearray baitideks Pythonis

Convert Bytearray Bytes Python

Python toetab paljusid erinevat tüüpi andmeobjekte. Kaks neist on objektid muuseas ja baiti . The bytearray () funktsioon tagastab baitide massiiviobjekti. See objekt on muudetav ja toetab täisarvu 0 kuni 255. baiti () funktsioon tagastab baitide objekte, pole muudetav ja toetab täisarvu 0 kuni 255. Selles artiklis kirjeldatakse neid funktsioone ja selgitatakse, kuidas muuseas objekte saab teisendada baiti objektid.

Bytearray () meetodi süntaks

muuseas ([data_source[,kodeerimine[,vigu]]])

Selle meetodi kolm argumenti on valikulised. Esimest argumenti kasutatakse baitide loendi lähtestamiseks. Kui esimene argument on string, kasutatakse kodeerimiseks teist argumenti. Lõpuks kasutatakse kolmandat argumenti vea kuvamiseks, kui kodeerimine ebaõnnestub.



Baitide süntaks () Meetod

baiti ([data_source[,kodeerimine[,vigu]]])

Kõik argumendid baiti () funktsioon on valikuline, näiteks bytearray () meetod. Nende argumentide funktsioonid on samad mis bytearray () eespool mainitud meetod.



Teisendamise meetod muuseas et baiti Pythonis on näidatud allpool, kasutades selle protsessi paremaks mõistmiseks mõningaid lihtsaid näiteid.



Näide 1: teisendage loendiandmed baitmahust baitideks

Kui funktsioon bytearray () sisaldab ainult ühte argumenti, on argumendi väärtuseks sõnastiku lähtepunkt või muutuja. Järgmine näide näitab, kuidas sõnastikuobjekti saab teisendada baitplaadi objektiks ja kuidas baasplaadi objekti saab seejärel baitobjektiks teisendada. Seejärel kasutatakse esimest silmuse jaoks ASCII koodide tõlketabeli väärtuste kuvamiseks ja teist tsüklit vastavate ASCII koodide märkide kuvamiseks.

#!/usr/bin/env python3

# Määratlege loend
nimekirjaandmed= [72, 69, 76, 76, 79]
# Printige loendi sisu
printida(' nSõnastiku väärtused on järgmised: n',nimekirjaandmed)

# Initsialiseeri baarplaadi objekt loendiga
byteArrayObject= muuseas(nimekirjaandmed)
# Prindib baarivälja objekti väärtuse
printida(' nBytearray () meetodi väljund: n',byteArrayObject)

# Teisendage baitarray objekt baitideks
baitObject= baiti(byteArrayObject)
# Prindi baitide objekti väärtus
printida(' nBaitide () meetodi väljund: n',baitObject)

printida(' nBaitide ASCII väärtused)
# Korda baitide objekti silmuse abil
eesttundisissebaitObjekt:
printida(tundi,'',lõpp='')

printida(' nBaitide stringi väärtused)
# Korda baitide objekti silmuse abil
eesttundisissebaitObjekt:
printida(chr(tundi),'',lõpp='')

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund. Siin on 72, 69, 76 ja 79 ASCII kood H, E, L ja O vastavalt.



Näide 2: teisendage stringi andmed baitmahust baitideks

Järgnevas näites on näidatud baariploki objektide teisendamine baitobjektideks stringi andmetes. Selle skripti meetodis bytearray () kasutatakse kahte argumenti. Esimene argument sisaldab stringi väärtust, teine ​​argument kodeerivat stringi. Siin kasutatakse 'utf-8' kodeeringut teisendamiseks baitarie objektiks. The dekodeerida () meetodit kasutatakse skriptis baitobjektide teisendamiseks stringiandmeteks. Teisendamise ajal kasutatakse sama kodeeringut.

#!/usr/bin/env python3

# Võtke stringi väärtus
teksti= sisend('Sisestage mis tahes tekst: n')

# Initsialiseeri baarplaadi objekt stringi ja kodeeringuga
baitArrObj= muuseas(teksti, 'utf-8')
printida(' nBytesarray () meetodi väljund: n',baitArrObj)

# Teisenda baaririba baitideks
baitObj= baiti(baitArrObj)
printida(' nBaitide () meetodi väljund: n',baitObj)

# Teisendage baitide väärtus stringiks, kasutades kodeerimist
printida(' nBaitide stringi väärtused)
printida(baitObj.dekodeerida('utf-8'))

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund.

Näide 3: teisendage täisarvulised andmed baitmahust baitideks

Eelmised näited näitavad baarimassi ja baitide teisendamist sõnaraamatu ja stringiandmete põhjal. See kolmas näide näitab baaririba teisendamist baitideks sisendandmete põhjal. Siin teisendatakse sisendväärtus täisarvuliseks väärtuseks ja edastatakse argumendina bytearray () funktsiooni kaudu ning seejärel teisendatakse bytearray objekt baitideks. Nullväärtused, mis põhinevad täisarvul, kuvatakse baitmassi ja baitide objekti väljundina. Baitide koguarv loetakse skripti lõpus meetodi len () abil ja see võrdub täisarvulise väärtusega, mis edastati argumendina bytearray () meetodile.

#!/usr/bin/env python3

proovige:
# Võtke mis tahes arvu väärtus
teksti= int(sisend('Sisestage mis tahes number:'))

# Initsialiseeri baarplaadi objekt numbriga
baitArrObj= muuseas(teksti)
printida(' nBytesarray () meetodi väljund: n',baitArrObj)

# Teisenda baitarray objekt baitideks
baitObj= baiti(baitArrObj)
printida(' nBaitide () meetodi väljund: n',baitObj)

# Printige baitide objekti suurus
printida(' nBaitide objekti pikkus: ',len(baitObj))
välja arvatud Viga väärtuses:
printida(„Sisestage mis tahes numbriline väärtus”)

Väljund

Pärast skripti käivitamist võetakse järgmises väljundis sisendiks 6. Kuus nullväärtust kuvatakse baitmassi ja baitide väljundina. Kui nullväärtused on loendatud, kuvatakse see 6.

Näide 4: baitplaadi loomine, kasutades lisamist () ja teisendamine baitideks

Järgmine näide näitab, kuidas bytearray objekte saab luua meetodi append () abil ja teisendada baitideks. Muutuja arrVal on siin deklareeritud baitarie objektina. Järgmisena kutsutakse kuus korda elemendi lisamiseks massiivi kuus korda append () meetodit. Märkide „P”, „y”, „t”, „h”, „o” ja „n” ASCII -koodid on vastavalt 80, 121, 116, 104, 111 ja 1120. Need lisatakse baitarray objektile. See massiiviobjekt teisendatakse hiljem baitobjektiks.

#!/usr/bin/env python3

# Loo baarplaat ja lisage üksus, kasutades lisamismeetodit ()
arrVal= muuseas()
arrVal.lisama(80)
arrVal.lisama(121)
arrVal.lisama(116)
arrVal.lisama(104)
arrVal.lisama(111)
arrVal.lisama(110)

# Printige baitariba () väärtused
printida(' nBytearray () meetodi väljund: n',arrVal)

# Teisendage baitarray objekt baitideks
baitObject= baiti(arrVal)

# Prindi baitide objekti väärtus
printida(' nBaitide () meetodi väljund: n',baitObject)

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund.

Järeldus

Käesolevas artiklis on näidatud mitmesuguseid meetodeid, kuidas pärast massiivobjektide loomist baarimassi baitideks teisendada. Pärast selle artikli lugemist loodan, et mõistate baitmassi ja baitide mõistet, teate viisi, kuidas teisendada baarmass baitideks, ja saate kuvada baitide väljundi stringide ja märkidena.