Convertir Bytearray en Bytes en Python

Convert Bytearray Bytes Python



Python admite muchos tipos diferentes de objetos de datos. Dos de ellos son los objetos bytearray y bytes . los bytearray () La función devuelve un objeto de matriz de bytes. Este objeto se puede cambiar y admite el número entero de 0 a 255. El bytes() La función devuelve objetos de bytes, no se puede cambiar y admite los números enteros de 0 a 255. Este artículo describirá estas funciones y explicará cómo bytearray los objetos se pueden convertir en bytes objetos.

Sintaxis del método bytearray ()

bytearray ([fuente de datos[,codificacion[,errores]]])

Los tres argumentos de este método son opcionales. El primer argumento se usa para inicializar la lista de bytes. Si el primer argumento es la cadena, entonces el segundo argumento se usa para codificar. Finalmente, el tercer argumento se usa para mostrar el error si falla la codificación.







Sintaxis del método bytes ()

bytes ([fuente de datos[,codificacion[,errores]]])

Todos los argumentos de la bytes() función son opcionales, como el bytearray () método. Las funciones de estos argumentos son también las mismas que las bytearray () método, mencionado anteriormente.



El método de conversión bytearray para bytes en Python se muestra a continuación, usando algunos ejemplos simples para una mejor comprensión de este proceso.



Ejemplo 1: convertir datos de lista de bytearray a bytes

Cuando la función bytearray () contiene solo un argumento, el valor del argumento será un dato o variable del diccionario. El siguiente ejemplo muestra cómo un objeto de diccionario se puede convertir en un objeto bytearray y cómo un objeto bytearray luego se puede convertir en un objeto de byte. A continuación, el primer bucle for se usa para mostrar los valores de la tabla de traducción de códigos ASCII y el segundo bucle for se usa para mostrar los caracteres de los códigos ASCII correspondientes.





#! / usr / bin / env python3

# Definir la lista
listdata= [72, 69, 76, 76, 79]
# Imprime el contenido de la lista
impresión(' orteLos valores del diccionario son: orte',listdata)

# Inicializar el objeto bytearray con list
byteArrayObject= bytearray(listdata)
# Imprimir el valor del objeto bytearray
impresión(' orteLa salida del método bytearray (): orte',byteArrayObject)

# Convierte el objeto bytearray en un objeto de bytes
byteObject= bytes(byteArrayObject)
# Imprimir bytes del valor del objeto
impresión(' orteLa salida del método bytes (): orte',byteObject)

impresión(' orteLos valores ASCII de bytes ')
# Iterar el objeto bytes usando loop
porhorasenbyteObject:
impresión(horas,' ',fin='')

impresión(' orteLos valores de cadena de bytes ')
# Iterar el objeto bytes usando loop
porhorasenbyteObject:
impresión(chr(horas),' ',fin='')

Producción

La siguiente salida aparecerá después de ejecutar el script. Aquí, 72, 69, 76 y 79 son los códigos ASCII de 'H', 'E', 'L' y 'O', respectivamente.



Ejemplo 2: convertir datos de cadena de bytearray a bytes

El siguiente ejemplo muestra la conversión de objetos bytearray en objetos de byte en datos de cadena. Se utilizan dos argumentos en el método bytearray () de este script. El primer argumento contiene el valor de la cadena, mientras que el segundo argumento contiene la cadena de codificación. Aquí, la codificación 'utf-8' se utiliza para convertir en un objeto bytearray. los descodificar() El método se utiliza en el script para convertir los objetos bytes en datos de cadena. Se utiliza la misma codificación en el momento de la conversión.

#! / usr / bin / env python3

# Toma un valor de cadena
texto= aporte('Ingrese cualquier texto: orte')

# Inicializar el objeto bytearray con cadena y codificación
byteArrObj= bytearray(texto, 'utf-8')
impresión(' orteLa salida del método bytesarray (): orte',byteArrObj)

# Convertir bytearray a bytes
byteObj= bytes(byteArrObj)
impresión(' orteLa salida del método bytes (): orte',byteObj)

# Convierta el valor de bytes en una cadena usando emcoding
impresión(' orteLos valores de cadena de bytes ')
impresión(byteObj.descodificar('utf-8'))

Producción

La siguiente salida aparecerá después de ejecutar el script.

Ejemplo 3: convertir datos enteros de bytearray a bytes

Los ejemplos anteriores muestran la conversión de bytearray y bytes según el diccionario y los datos de cadena. Este tercer ejemplo muestra la conversión de bytearray en bytes según los datos de entrada. Aquí, el valor de entrada se convierte en un valor entero y se pasa como un argumento a través de la función bytearray (), y el objeto bytearray se convierte luego en un objeto de bytes. Los valores nulos basados ​​en el número entero se muestran como una salida del objeto bytearray y bytes. El número total de bytes se cuenta mediante el método len () al final del script y será igual al valor entero pasado como argumento en el método bytearray ().

#! / usr / bin / env python3

tratar:
# Toma cualquier valor numérico
texto= En t(aporte('Ingrese cualquier número:'))

# Inicializar el objeto bytearray con número
byteArrObj= bytearray(texto)
impresión(' orteLa salida del método bytesarray (): orte',byteArrObj)

# Convertir objeto bytearray en objeto bytes
byteObj= bytes(byteArrObj)
impresión(' orteLa salida del método bytes (): orte',byteObj)

# Imprime el tamaño del objeto bytes
impresión(' orteLa longitud del objeto bytes: ',len(byteObj))
excepto ValueError:
impresión('Ingrese cualquier valor numérico')

Producción

Después de ejecutar el script, se toma 6 como entrada en la siguiente salida. Los seis valores nulos se muestran como la salida de bytearray y bytes. Cuando se cuentan los valores nulos, se muestra 6.

Ejemplo 4: crear bytearray usando append () y convertir a bytes

El siguiente ejemplo muestra cómo se pueden crear objetos bytearray mediante el método append () y convertirlos en bytes. La variable arrVal se declara aquí como un objeto bytearray. A continuación, se llama al método append () seis veces para agregar seis elementos a la matriz. Los códigos ASCII de los caracteres 'P', 'y', 't', 'h', 'o' y 'n' son 80, 121, 116, 104, 111 y 1120, respectivamente. Estos se agregan en el objeto bytearray. Este objeto de matriz se convierte en el objeto de bytes más adelante.

#! / usr / bin / env python3

# Cree bytearray y agregue el elemento usando el método append ()
arrVal= bytearray()
arrVal.adjuntar(80)
arrVal.adjuntar(121)
arrVal.adjuntar(116)
arrVal.adjuntar(104)
arrVal.adjuntar(111)
arrVal.adjuntar(110)

# Imprime los valores de bytearray ()
impresión(' orteLa salida del método bytearray (): orte',arrVal)

# Convierte el objeto bytearray en un objeto de bytes
byteObject= bytes(arrVal)

# Imprimir bytes del valor del objeto
impresión(' orteLa salida del método bytes (): orte',byteObject)

Producción

La siguiente salida aparecerá después de ejecutar el script.

Conclusión

En este artículo se muestran varios métodos para convertir bytearray en bytes después de crear objetos bytearray. Después de leer este artículo, espero que comprenda el concepto de bytearray y bytes, sepa cómo convertir bytearray en bytes y pueda mostrar la salida de bytes como cadenas y caracteres.