Byte Objects vs String en Python

En Python 2, tanto str como bytes son los mismos objetos typeByte, mientras que en Python 3 los objetos Byte, definidos en Python 3 son » secuencia de bytes » y son similares a los objetos » unicode » de Python 2. Sin embargo, hay muchas diferencias en las strings y Objetos de byte. Algunos de ellos se describen a continuación: 

 

  • Los objetos de byte son una secuencia de bytes , mientras que las strings son una secuencia de caracteres .
  • Los objetos de byte están en forma legible por máquina internamente, las strings solo están en forma legible por humanos .
  • Dado que los objetos Byte son legibles por máquina, se pueden almacenar directamente en el disco . Mientras que las strings necesitan codificación antes de que puedan almacenarse en el disco.

string vs byte in python

Existen métodos para convertir un objeto de byte en String y String en objetos de byte.
 

Codificación

PNG, JPEG, MP3, WAV, ASCII, UTF-8, etc. son diferentes formas de codificación. Una codificación es un formato para representar audio, imágenes, texto, etc. en bytes. La conversión de strings en objetos de bytes se denomina codificación. Esto es necesario para que el texto se pueda almacenar en el disco mediante el mapeo mediante técnicas de codificación ASCII o UTF-8 .
Esta tarea se logra usando encode() . Toma la técnica de codificación como argumento. La técnica predeterminada es la técnica » UTF-8 «.
 

Python3

# Python code to demonstrate String encoding
 
# initialising a String
a = 'GeeksforGeeks'
 
# initialising a byte object
c = b'GeeksforGeeks'
 
# using encode() to encode the String
# encoded version of a is stored in d
# using ASCII mapping
d = a.encode('ASCII')
 
# checking if a is converted to bytes or not
if (d==c):
    print ("Encoding successful")
else : print ("Encoding Unsuccessful")

Producción: 
 

Encoding successful
Descodificación

De manera similar, la decodificación es un proceso para convertir un objeto Byte en String . Se implementa usando decode() . Una string de bytes se puede volver a decodificar en una string de caracteres, si sabe qué codificación se usó para codificarla. La codificación y la decodificación son procesos  inversos .
 

Python3

# Python code to demonstrate Byte Decoding
 
# initialising a String
a = 'GeeksforGeeks'
 
# initialising a byte object
c = b'GeeksforGeeks'
 
# using decode() to decode the Byte object
# decoded version of c is stored in d
# using ASCII mapping
d = c.decode('ASCII')
 
# checking if c is converted to String or not
if (d==a):
    print ("Decoding successful")
else : print ("Decoding Unsuccessful")

Producción: 
 

Decoding successful

Este artículo es una contribución de Manjeet Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *