Función bytes() en Python

La función bytes() en Python se utiliza para crear un objeto de tipo bytes , que es una secuencia inmutable de valores enteros en el rango de 0 a 255. Estos objetos de bytes son utilizados para representar datos binarios, como imágenes, archivos, y otros tipos de datos que no son texto. Aquí tienes una lección detallada sobre cómo usar la función bytes() en Python:


Sintaxis de bytes() en Python

La función bytes() en Python se utiliza para crear un objeto de tipo bytes . Aquí tienes la sintaxis de la función bytes() :

Ejemplo

    bytes([source[, encoding[, errors]]])
  
  • source : Puede ser una secuencia de enteros o una cadena de texto opcional. Si se proporciona, crea un objeto bytes con los datos contenidos en la secuencia o codificados con la codificación especificada. Si no se proporciona, se crea un objeto bytes vacío.
  • encoding (opcional): Es una cadena que especifica la codificación a utilizar si se proporciona source . Por defecto, se utiliza "utf-8". Esta es la codificación que se utilizará para decodificar una cadena en bytes o para codificar una cadena en bytes.
  • errors (opcional): Es una cadena que especifica cómo manejar errores de codificación o decodificación. Puede tomar valores como "strict" (lanza una excepción en caso de error), "ignore" (ignora los caracteres no válidos), "replace" (reemplaza los caracteres no válidos), entre otros.

Creación de objetos bytes

Puedes crear objetos bytes de varias maneras:

Usar la función bytes() con una secuencia de enteros:

Ejemplo

    byte_data = bytes([65, 66, 67, 68)  # Crea un objeto bytes con los valores 65, 66, 67 y 68 (equivalentes a 'A', 'B', 'C', 'D')
  

Usar una notación de bytes (prefijando la secuencia con b ):

Ejemplo

    # Crea un objeto bytes con la secuencia de caracteres 'Hola'
byte_data = b'Hola'
print(byte_data)
  
Abrir en editor

Usar un literal hexadecimal:

Ejemplo

    # Crea un objeto bytes a partir de una cadena hexadecimal
byte_data = bytes.fromhex('486f6c61')
print(byte_data)
  
Abrir en editor

Propiedades de los objetos bytes

  • Los objetos bytes son inmutables, lo que significa que no puedes modificar su contenido una vez que se crean. Si necesitas modificar los datos binarios, debes crear un nuevo objeto bytes .

Acceso a elementos en objetos bytes

Puedes acceder a elementos individuales en un objeto bytes utilizando la indexación:

Ejemplo

    byte_data = b'Hola'
print(byte_data[0])  # Imprimirá 72, que es el valor ASCII de 'H'
  
Abrir en editor

Métodos relacionados con objetos bytes

decode(encoding=utf-8′, errors="strict") : Convierte el objeto bytes en una cadena utilizando la codificación especificada. Por defecto, se utiliza la codificación UTF-8.

Ejemplo

    byte_data = b'Hola'
texto = byte_data.decode('utf-8')
print(texto)  # Imprimirá 'Hola'
  
Abrir en editor

hex() : Convierte el objeto bytes en una cadena hexadecimal.

Ejemplo

    dato = bytes("Hola", "utf-8")
print(dato)
print(list(dato))
  

Uso común de objetos bytes

Los objetos bytes se utilizan ampliamente para trabajar con archivos binarios, protocolos de red, criptografía y manipulación de datos binarios en general.

Aquí tienes una introducción detallada a la función bytes() en Python. Los objetos bytes son una parte fundamental para trabajar con datos binarios de manera eficiente y segura. Puedes crearlos a partir de secuencias de enteros, convertirlos en cadenas de texto, o realizar varias operaciones de manipulación de datos binarios.

Practica Función bytes() en Python en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Crear bytes desde una lista

Convierte una lista de enteros en un objeto bytes.

Ejemplo

    datos = bytes([72, 111, 108, 97])
print(datos)
print(list(datos))
  
Abrir en editor

Ejercicio: Usar un literal hexadecimal

Usar un literal hexadecimal.

Ejemplo

    # Crea un objeto bytes a partir de una cadena hexadecimal
byte_data = bytes.fromhex('486f6c61')
print(byte_data)
  
Abrir en editor

Ejercicio: Usar print()

Puedes acceder a elementos individuales en un objeto bytes utilizando la indexación.

Ejemplo

    byte_data = b'Hola'
print(byte_data[0])  # Imprimirá 72, que es el valor ASCII de 'H'
  
Abrir en editor

Ejercicio: Decodificar bytes a texto

Convierte un objeto bytes en str con decode().

Ejemplo

    byte_data = b"Hola"
texto = byte_data.decode("utf-8")
print(texto)
  
Abrir en editor

Ejercicio: Hex()

hex() : Convierte el objeto bytes en una cadena hexadecimal.

Ejemplo

    dato = bytes("Hola", "utf-8")
print(dato)
print(list(dato))
  
Abrir en editor