Efecto del carácter ‘b’ delante de un literal de string en Python

En Python, el carácter ‘ b ‘ antes de una string se usa para especificar la string como una » string de bytes «. 

Por ejemplo:

b_str = b’Oye, soy una string de bytes’

Ahora, b_str no almacena un objeto String, sino que almacena un objeto Byte String.

Diferencia entre strings y strings de bytes:

Las strings son caracteres normales que están en formato legible por humanos, mientras que las strings de bytes son strings que están en bytes. Generalmente, las strings se convierten primero en bytes como cualquier otro objeto porque una computadora puede almacenar datos solo en bytes. Cuando se trabaja con strings de bytes, no se convierten en bytes porque ya están en bytes .

¿Cómo se convierten las strings en bytes?

Las strings se convierten en bytes mediante la codificación. Hay varios formatos de codificación a través de los cuales las strings se pueden convertir en bytes. Por ej. ASCII, UTF-8, etc…

Para convertir una string en una string de bytes en python:

Python3

var = 'Hey I am a String'.encode('ASCII')
print(var)
Producción

b'Hey I am a String'

Incluso si imprimimos el tipo de la variable, obtendremos el tipo de byte :

Python3

var = 'Hey I am a String'.encode('ASCII')
print(type(var))
Producción

<class 'bytes'>

¿Cómo se convierte un objeto de byte en una string?

Al igual que la codificación se usa para convertir una string en un byte, usamos la decodificación para convertir un byte en una string:

Python3

var = b'Hey I am a Byte String'.decode('ASCII')
print(var)
Producción

Hey I am a Byte String

Incluso si imprimimos el tipo de variable, obtendremos el tipo de string :

Python3

var = b'Hey I am a String'.decode('ASCII')
print(type(var))
Producción

<class 'str'>

Publicación traducida automáticamente

Artículo escrito por indorexian y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *