I tropezado con este pasaje en el Django tutorial:Unicode vs UTF-8 confusión en Python/Django?
modelos de Django tienen un método predeterminado str() que llama Unicode() y convierte el resultado a una cadena de bytes UTF-8. Esto significa que unicode (p) devolverá una cadena Unicode, y str (p) devolverá una cadena normal, con caracteres codificados como UTF-8.
Ahora, estoy confundido porque afaik Unicode no es una representación particular, entonces ¿qué es una "cadena Unicode" en Python? ¿Eso significa UCS-2? Googlear aparecido this "Python Unicode Tutorial" que establece audazmente
Unicode es una codificación de dos bytes que cubre todos los sistemas de escritura comunes del mundo.
que es completamente falso, ¿o no? Muchas veces me han confundido los conjuntos de caracteres y los problemas de codificación, pero aquí estoy bastante seguro de que la documentación que estoy leyendo es confusa. ¿Alguien sabe qué está pasando en Python cuando me da una "cadena Unicode"?
Por favor, personas, voten esta respuesta, incluso si la otra "respuesta" elegida sigue siendo elegida. – tzot
[encogimiento de hombros] ambos son correctos; son las implicaciones de 'len (' ΤΖΩΤΖΙΟΥ ') == 8' que realmente definen lo que es una cadena Unicode * is *, supongo. – bobince
No estoy de acuerdo; Leí la pregunta y dice "¿Qué es una cadena Unicode en Python". La respuesta elegida parece una malla de oraciones aleatorias, mientras que su respuesta parece mucho más precisa; sin embargo, este es un problema que no perseguiré más. Saludos :) – tzot