josiete.com

UTF-8

Cuando los bytes se disfrazan de texto: Unicode, Python y errores de codificación

Lluvia de caracteres verdes sobre fondo negro, con las palabras decode y encode resaltadas en el centro

Un fichero contiene José, pero después de pasar por un pipeline aparece José. Otro conserva las tildes, aunque una búsqueda de Jose devuelve también José. Y en un tercero los emojis se convierten en ?.

Los tres casos parecen problemas de texto, pero conviene investigar causas distintas: cómo interpretamos los bytes, cómo comparamos las cadenas y qué información se ha perdido durante el recorrido. Cambiar a UTF-8 sin localizar el fallo puede limitarse a guardar correctamente un texto que ya estaba estropeado.