Convertir bytearray a bytes en Python

Convertir bytearray a bytes en Python
Python admiten muchos tipos diferentes de objetos de datos. Dos de ellos son los objetos bytearray y bytes. El bytearray () La función devuelve un objeto de matriz de bytes. Este objeto es cambiante y admite el número entero de 0 a 255. El bytes () La función devuelve los objetos bytes, no es cambiante y admite los 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 ([data_source [, codificación [, 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 la codificación falla.

Sintaxis del método bytes ()

bytes ([data_source [, codificación [, errores]]])

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

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

Ejemplo 1: Convertir datos de la lista de bytearray a bytes

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

#!/usr/bin/env python3
# Defina la lista
listData = [72, 69, 76, 76, 79]
# Imprima el contenido de la lista
imprimir ("\ nthe Dictionary Values ​​son: \ n", listData)
# Inicializar el objeto bytearray con la lista
bytearrayObject = byteArray (listData)
# Imprimir el valor del objeto bytearray
print ("\ nthe output of bytearray () método: \ n", bytearrayObject)
# Convierta el objeto bytearray en objeto bytes
byteObject = bytes (bytearrayObject)
# Valor de objeto bytes de impresión
imprimir ("\ nthe outple of bytes () método: \ n", byteObject)
imprimir ("\ nthe ASCII Valores de bytes")
# Itera el objeto bytes usando bucle
para val en byteobject:
imprimir (val, ", end =")
imprimir ("\ nthe String Values ​​of Bytes")
# Itera el objeto bytes usando bucle
para val en byteobject:
print (chr (val), ", end =")

Producción

La siguiente salida aparecerá después de ejecutar el script. Aquí, 72, 69, 76 y 79 son el Código 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 los objetos bytearray a los objetos de byte en los 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 usa para convertir en un objeto Bytearray. El descodificar() El método se usa en el script para convertir los objetos bytes en datos de cadena. La misma codificación se usa en el momento de la conversión.

#!/usr/bin/env python3
# Tomar un valor de cadena
text = input ("Ingrese cualquier texto: \ n")
# Inicializar el objeto bytearray con cadena y codificación
bytearrobj = byteArray (texto, 'UTF-8')
print ("\ nthe outtEsArray () método: \ n", bytearRobj)
# Convertir bytearray a bytes
byteobj = bytes (bytearrobj)
imprimir ("\ nthe outple of bytes () método: \ n", byteobj)
# Convertir el valor bytes en cadena usando emcoding
imprimir ("\ nthe String Values ​​of Bytes")
imprimir (byteobj.Decode ("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 basados ​​en datos de diccionario y cadena. Este tercer ejemplo muestra la conversión de bytearray en bytes basados ​​en 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 en un objeto 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 a través del método len () al final del script, y será igual al valor entero aprobado como argumento en el método bytearray ().

#!/usr/bin/env python3
intentar:
# Tomar cualquier valor de número
text = int (input ("Ingrese cualquier número:"))
# Inicializar el objeto bytearray con el número
bytearrobj = bytearray (texto)
print ("\ nthe outtEsArray () método: \ n", bytearRobj)
# Convertir objeto bytearray al objeto bytes
byteobj = bytes (bytearrobj)
imprimir ("\ nthe outple of bytes () método: \ n", byteobj)
# Imprima el tamaño del objeto bytes
imprimir ("\ nthe longht del objeto bytes:", len (byteobj))
Excepto ValueError:
Imprimir ("Ingrese cualquier valor numérico")

Producción

Después de ejecutar el script, 6 se toma 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 a través del método append () y convertirse en bytes. La variable Arrval se declara aquí como un objeto bytearray. A continuación, el método append () se llama 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 bytes más adelante.

#!/usr/bin/env python3
# Crear bytearray y agregar elemento usando el método append ()
arrval = bytearray ()
arrosto.adjuntar (80)
arrosto.adjuntar (121)
arrosto.adjuntar (116)
arrosto.adjuntar (104)
arrosto.adjuntar (111)
arrosto.adjuntar (110)
# Imprime los valores bytearray ()
imprimir ("\ nthe output of bytearray () método: \ n", Arrval)
# Convierta el objeto bytearray en un objeto bytes
byteObject = bytes (arrval)
# Valor de objeto bytes de impresión
imprimir ("\ nthe outple of bytes () método: \ n", 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, conozca la forma de convertir bytearray a bytes y poder mostrar la salida de bytes como cadena y caracteres.