Codificación de cadena de Python ()

El método string encode () devuelve la versión codificada de la cadena dada.

Desde Python 3.0, las cadenas se almacenan como Unicode, es decir, cada carácter de la cadena está representado por un punto de código. Entonces, cada cadena es solo una secuencia de puntos de código Unicode.

Para un almacenamiento eficiente de estas cadenas, la secuencia de puntos de código se convierte en un conjunto de bytes. El proceso se conoce como codificación .

Hay varias codificaciones presentes que tratan una cadena de manera diferente. Las codificaciones populares son utf-8 , ascii , etc.

Usando el encode()método de cadena , puede convertir cadenas no codificadas en cualquier codificación compatible con Python. De forma predeterminada, Python usa la codificación utf-8 .

La sintaxis del encode()método es:

 string.encode (codificación = 'UTF-8', errores = 'estricto')

Parámetros de codificación de cadena ()

De forma predeterminada, el encode()método no requiere ningún parámetro.

Devuelve la versión codificada en utf-8 de la cadena. En caso de falla, genera una UnicodeDecodeErrorexcepción.

Sin embargo, se necesitan dos parámetros:

  • codificación : el tipo de codificación en el que se debe codificar una cadena
  • errores : respuesta cuando falla la codificación. Hay seis tipos de respuesta ante errores
    • estricto: respuesta predeterminada que genera una excepción UnicodeDecodeError en caso de falla
    • ignorar: ignora el unicode no codificable del resultado
    • reemplazar: ¿reemplaza el unicode no codificable por un signo de interrogación ?
    • xmlcharrefreplace: inserta una referencia de carácter XML en lugar de unicode no codificable
    • backslashreplace - inserta una secuencia de escape uNNNN en lugar de unicode no codificable
    • namereplace - inserta una secuencia de escape N (…) en lugar de unicode no codificable

Ejemplo 1: Codificación a codificación Utf-8 predeterminada

 # unicode string string = 'pythön!' # print string print('The string is:', string) # default encoding to utf-8 string_utf = string.encode() # print result print('The encoded version is:', string_utf) 

Salida

La cadena es: ¡pythön! La versión codificada es: b'pyth xc3 xb6n! '

Ejemplo 2: codificación con parámetro de error

 # unicode string string = 'pythön!' # print string print('The string is:', string) # ignore error print('The encoded version (with ignore) is:', string.encode("ascii", "ignore")) # replace error print('The encoded version (with replace) is:', string.encode("ascii", "replace")) 

Salida

La cadena es: ¡pythön! La versión codificada (con ignorar) es: b'pythn! ' La versión codificada (con reemplazo) es: b'pyth? N! '

Nota: Pruebe también diferentes parámetros de codificación y error.

Articulos interesantes...