Convertiți Bytearray în Bytes în Python

Convert Bytearray Bytes Python



Multe tipuri diferite de obiecte de date sunt acceptate de Python. Două dintre ele sunt obiectele bytearray și octeți . The bytearray () funcția returnează un obiect matrice de octeți. Acest obiect este modificabil și acceptă numărul întreg de la 0 la 255. octeți () funcția returnează obiecte de octeți, nu poate fi modificată și acceptă numerele întregi de la 0 la 255. Acest articol va descrie aceste funcții și va explica cum bytearray obiectele pot fi convertite în octeți obiecte.

Sintaxa metodei bytearray ()

bytearray ([sursă de date[,codificare[,erori]]])

Cele trei argumente ale acestei metode sunt opționale. Primul argument este folosit pentru a inițializa lista de octeți. Dacă primul argument este șirul, atunci al doilea argument este utilizat pentru codificare. În cele din urmă, al treilea argument este utilizat pentru a afișa eroarea dacă codarea eșuează.







Sintaxa bytes () Metoda

octeți ([sursă de date[,codificare[,erori]]])

Toate argumentele octeți () funcția sunt opționale, cum ar fi bytearray () metodă. Funcțiile acestor argumente sunt, de asemenea, aceleași ca și bytearray () menționată mai sus.



Metoda de conversie bytearray la octeți în Python este prezentat mai jos, folosind câteva exemple simple pentru o mai bună înțelegere a acestui proces.



Exemplul 1: convertiți datele din listă din bytearray în bytes

Când funcția bytearray () conține un singur argument, valoarea argumentului va fi o bază de date sau o variabilă a dicționarului. Următorul exemplu prezintă modul în care un obiect dicționar poate fi convertit într-un obiect bytearray și cum un obiect bytearray poate fi apoi convertit într-un obiect byte. Apoi, prima buclă este utilizată pentru a afișa valorile tabelului de traducere a codurilor ASCII și a doua pentru bucla este utilizată pentru a afișa caracterele codurilor ASCII corespunzătoare.





#! / usr / bin / env python3

# Definiți lista
listdata= [72, 69, 76, 76, 79]
# Imprimați conținutul listei
imprimare(' nValorile dicționarului sunt: n',listdata)

# Inițializați obiectul bytearray cu listă
byteArrayObject= bytearray(listdata)
# Imprimați valoarea obiectului de desen
imprimare(' nIeșirea metodei bytearray (): n',byteArrayObject)

# Convertiți obiectul bytearray în obiect bytes
byteObject= octeți(byteArrayObject)
# Imprimați valoarea obiectului de octeți
imprimare(' nIeșirea metodei bytes (): n',byteObject)

imprimare(' nValorile ASCII ale octeților)
# Iterează obiectul de octeți folosind bucla
pentruoreînbyteObject:
imprimare(ore,'',Sfârșit='')

imprimare(' nValorile șirurilor de octeți)
# Iterează obiectul de octeți folosind bucla
pentruoreînbyteObject:
imprimare(chr(ore),'',Sfârșit='')

Ieșire

Următoarea ieșire va apărea după rularea scriptului. Aici, 72, 69, 76 și 79 sunt codul ASCII al „H”, „E”, „L” și, respectiv, „O”.



Exemplul 2: convertiți datele șirului din bytearray în octeți

Următorul exemplu arată conversia obiectelor de tip bytearray în obiecte de octet din datele șirului. Două argumente sunt utilizate în metoda bytearray () a acestui script. Primul argument conține valoarea șirului, în timp ce al doilea argument conține șirul de codificare. Aici, codarea ‘utf-8’ este utilizată pentru a se converti într-un obiect de tip bytearray. The decodifica () metoda este utilizată în script pentru a converti obiectele de octeți în date șir. Aceeași codificare este utilizată în momentul conversiei.

#! / usr / bin / env python3

# Luați o valoare șir
text= intrare('Introduceți orice text: n')

# Inițializați bytearray obiect cu șir și codare
byteArrObj= bytearray(text, „utf-8”)
imprimare(' nIeșirea metodei bytesarray (): n',byteArrObj)

# Conversia bytearray în octeți
byteObj= octeți(byteArrObj)
imprimare(' nIeșirea metodei bytes (): n',byteObj)

# Conversia valorii octeților în șir folosind emcoding
imprimare(' nValorile șirurilor de octeți)
imprimare(byteObj.decodifica(„utf-8”))

Ieșire

Următoarea ieșire va apărea după rularea scriptului.

Exemplul 3: Conversia datelor întregi din bytearray în bytes

Exemplele anterioare arată conversia bytearray și bytes pe baza datelor din dicționar și șir. Acest al treilea exemplu arată conversia bytearray în octeți pe baza datelor de intrare. Aici, valoarea de intrare este convertită într-o valoare întreagă și transmisă ca argument prin funcția bytearray (), iar obiectul bytearray este apoi convertit într-un obiect de octeți. Valorile nule bazate pe numărul întreg sunt afișate ca o ieșire a obiectului bytearray și bytes. Numărul total de octeți este numărat prin metoda len () la sfârșitul scriptului și va fi egal cu valoarea întreagă transmisă ca argument în metoda bytearray ().

#! / usr / bin / env python3

încerca:
# Luați orice valoare numerică
text= int(intrare(„Introduceți orice număr:”))

# Inițializați obiectul de tip bytearray cu numărul
byteArrObj= bytearray(text)
imprimare(' nIeșirea metodei bytesarray (): n',byteArrObj)

# Conversia obiectului bytearray în obiect bytes
byteObj= octeți(byteArrObj)
imprimare(' nIeșirea metodei bytes (): n',byteObj)

# Imprimați dimensiunea obiectului de octeți
imprimare(' nLungimea obiectului de octeți: ',len(byteObj))
cu exceptia ValueError:
imprimare(„Introduceți orice valoare numerică”)

Ieșire

După rularea scriptului, 6 este luat ca intrare în următoarea ieșire. Cele șase valori nule sunt afișate ca ieșire a bytearray și bytes. Când valorile nule sunt numărate, atunci se afișează 6.

Exemplul 4: Creați bytearray folosind append () și convertiți în octeți

Următorul exemplu arată cum pot fi create obiecte bytearray prin metoda append () și convertite în octeți. Variabila arrVal este declarată aici ca obiect bytearray. Apoi, metoda append () este apelată de șase ori pentru a adăuga șase elemente în matrice. Codurile ASCII ale caracterelor, „P”, „y”, „t”, „h”, „o” și „n” sunt 80, 121, 116, 104, 111 și, respectiv, 1120. Acestea sunt adăugate în obiectul bytearray. Acest obiect matrice este convertit în obiectul de octeți mai târziu.

#! / usr / bin / env python3

# Creați bytearray și adăugați elementul folosind metoda append ()
arrVal= bytearray()
arrVal.adăuga(80)
arrVal.adăuga(121)
arrVal.adăuga(116)
arrVal.adăuga(104)
arrVal.adăuga(111)
arrVal.adăuga(110)

# Imprimați valorile bytearray ()
imprimare(' nIeșirea metodei bytearray (): n',arrVal)

# Convertiți obiectul bytearray într-un obiect bytes
byteObject= octeți(arrVal)

# Imprimați valoarea obiectului de octeți
imprimare(' nIeșirea metodei bytes (): n',byteObject)

Ieșire

Următoarea ieșire va apărea după rularea scriptului.

Concluzie

Diverse metode sunt prezentate în acest articol pentru conversia bytearray în octeți după crearea obiectelor bytearray. După ce ați citit acest articol, sper că înțelegeți conceptul de bytearray și bytes, să cunoașteți modul de a converti bytearray în octeți și să puteți afișa ieșirea de octeți ca șir și caractere.