Converteix Bytearray a Bytes a Python

Convert Bytearray Bytes Python



Python admet molts tipus d’objectes de dades. Dos d’ells són els objectes bytearray i bytes . El bytearray () La funció retorna un objecte de matriu de bytes. Aquest objecte és variable i admet el nombre enter de 0 a 255. El fitxer bytes () La funció retorna objectes de bytes, no es pot modificar i admet els enters de 0 a 255. En aquest article es descriuen aquestes funcions i s'explica com bytearray es poden convertir objectes en bytes objectes.

Sintaxi del mètode bytearray ()

bytearray ([Font de dades[,codificació[,errors]]])

Els tres arguments d’aquest mètode són opcionals. El primer argument s’utilitza per inicialitzar la llista de bytes. Si el primer argument és la cadena, el segon argument s'utilitza per codificar. Finalment, s’utilitza el tercer argument per mostrar l’error si la codificació falla.







Sintaxi de bytes () Mètode

bytes ([Font de dades[,codificació[,errors]]])

Tots els arguments del bytes () funció són opcionals, com el fitxer bytearray () mètode. Les funcions d'aquests arguments també són les mateixes que la bytearray () mètode esmentat anteriorment.



El mètode per convertir bytearray a bytes a Python es mostra a continuació, utilitzant alguns exemples senzills per a una millor comprensió d’aquest procés.



Exemple 1: convertiu les dades de la llista de bytearray a bytes

Quan la funció bytearray () només conté un argument, el valor de l'argument serà una referència o una variable del diccionari. L'exemple següent mostra com es pot convertir un objecte de diccionari en un objecte de bytearray i com es pot convertir un objecte de bytearray en un objecte de byte. A continuació, el primer bucle s'utilitza per mostrar els valors de la taula de traducció de codis ASCII i el segon per a bucle s'utilitza per mostrar els caràcters dels codis ASCII corresponents.





#! / usr / bin / env python3

# Definiu la llista
llista de dades= [72, 69, 76, 76, 79]
# Imprimiu el contingut de la llista
imprimir(' nEls valors del diccionari són: n',llista de dades)

# Inicialitzeu l'objecte bytearray amb la llista
byteArrayObject= bytearray(llista de dades)
# Imprimeix el valor de l'objecte de dibuix bytearray
imprimir(' nLa sortida del mètode bytearray (): n',byteArrayObject)

# Converteix l'objecte bytearray en objecte bytes
byteObject= bytes(byteArrayObject)
# Valor de l'objecte d'impressió de bytes
imprimir(' nEl mètode de sortida de bytes (): n',byteObject)

imprimir(' nEls valors ASCII de bytes ')
# Iterar l'objecte de bytes mitjançant bucle
perhoresdinsbyteObject:
imprimir(hores,'',final='')

imprimir(' nEls valors de cadena de bytes ')
# Iterar l'objecte de bytes mitjançant bucle
perhoresdinsbyteObject:
imprimir(chr(hores),'',final='')

Sortida

La següent sortida apareixerà després d'executar l'script. Aquí, 72, 69, 76 i 79 són el codi ASCII de 'H', 'E', 'L' i 'O', respectivament.



Exemple 2: converteix les dades de cadena de bytearray a bytes

L'exemple següent mostra la conversió d'objectes de bytearray en objectes de byte en dades de cadenes. S'utilitzen dos arguments en el mètode bytearray () d'aquest script. El primer argument conté el valor de la cadena, mentre que el segon argument conté la cadena de codificació. Aquí, la codificació ‘utf-8’ s’utilitza per convertir-la en un objecte de bytearray. El decodificar () s'utilitza el mètode a l'script per convertir els objectes de bytes en dades de cadenes. La mateixa codificació s'utilitza en el moment de la conversió.

#! / usr / bin / env python3

# Agafeu un valor de cadena
text= entrada('Introduïu qualsevol text: n')

# Inicialitzeu l'objecte bytearray amb cadena i codificació
byteArrObj= bytearray(text, 'utf-8')
imprimir(' nLa sortida del mètode bytesarray (): n',byteArrObj)

# Converteix el bytearray en bytes
byteObj= bytes(byteArrObj)
imprimir(' nEl mètode de sortida de bytes (): n',byteObj)

# Converteix el valor de bytes en cadena mitjançant codificació emc
imprimir(' nEls valors de cadena de bytes ')
imprimir(byteObj.descodificar('utf-8'))

Sortida

La següent sortida apareixerà després d'executar l'script.

Exemple 3: converteix dades enteres de bytearray a bytes

Els exemples anteriors mostren la conversió de bytearray i bytes basats en dades de diccionari i cadena. Aquest tercer exemple mostra la conversió del bytearray en bytes en funció de les dades d'entrada. Aquí, el valor d'entrada es converteix en un valor enter i es passa com a argument mitjançant la funció bytearray (), i l'objecte bytearray es converteix en un objecte de bytes. Els valors nuls basats en el nombre enter es mostren com a sortida de l'objecte bytearray i bytes. El nombre total de bytes es compta mitjançant el mètode len () al final de l'script, i serà igual al valor enter passat com a argument al mètode bytearray ().

#! / usr / bin / env python3

provar:
# Agafeu qualsevol valor numèric
text= int(entrada('Introduïu qualsevol número:'))

# Inicialitzeu l'objecte bytearray amb un número
byteArrObj= bytearray(text)
imprimir(' nLa sortida del mètode bytesarray (): n',byteArrObj)

# Converteix l’objecte bytearray en objecte bytes
byteObj= bytes(byteArrObj)
imprimir(' nEl mètode de sortida de bytes (): n',byteObj)

# Imprimiu la mida de l'objecte de bytes
imprimir(' nLa longitud de l'objecte bytes: ',len(byteObj))
excepte ValueError:
imprimir('Introduïu qualsevol valor numèric')

Sortida

Després d'executar l'script, es pren 6 com a entrada a la sortida següent. Els sis valors nuls es mostren com a sortida de bytearray i bytes. Quan es compten els valors nuls, es mostrarà 6.

Exemple 4: Creeu un bytearray mitjançant append () i converteix en bytes

L'exemple següent mostra com es poden crear objectes bytearray mitjançant el mètode append () i convertir-los en bytes. La variable arrVal es declara aquí com a objecte bytearray. A continuació, es diu sis vegades el mètode append () per afegir sis elements a la matriu. Els codis ASCII dels caràcters 'P', 'y', 't', 'h', 'o' i 'n' són 80, 121, 116, 104, 111 i 1120, respectivament. Aquests s’afegeixen a l’objecte bytearray. Aquest objecte de matriu es converteix en l'objecte de bytes més endavant.

#! / usr / bin / env python3

# Creeu un bytearray i afegiu un element mitjançant el mètode append ()
arrVal= bytearray()
arrVal.afegir(80)
arrVal.afegir(121)
arrVal.afegir(116)
arrVal.afegir(104)
arrVal.afegir(111)
arrVal.afegir(110)

# Imprimiu els valors bytearray ()
imprimir(' nLa sortida del mètode bytearray (): n',arrVal)

# Converteix l’objecte bytearray en un objecte de bytes
byteObject= bytes(arrVal)

# Valor de l'objecte d'impressió de bytes
imprimir(' nEl mètode de sortida de bytes (): n',byteObject)

Sortida

La següent sortida apareixerà després d'executar l'script.

Conclusió

En aquest article es mostren diversos mètodes per convertir bytearray a bytes després de crear objectes bytearray. Després de llegir aquest article, espero que entengueu el concepte de bytearray i bytes, conegueu la manera de convertir bytearray a bytes i que pugueu mostrar la sortida de bytes com a cadena i caràcters.