Python str vs tipos de unicode
Trabajando con Python 2.7, me pregunto qué ventaja real hay al usar el tipounicode
en lugar destr
, ya que ambos parecen ser capaces de mantener cadenas de Unicode. ¿Hay alguna razón especial además de poder configurar códigos Unicode enunicode
cuerdas utilizando el personaje de escape\
?:
Ejecutando un módulo con:
# -*- coding: utf-8 -*-
a = 'á'
ua = u'á'
print a, ua
Resultados en: á, á
EDITAR:
Más pruebas usando el shell de Python:
>>> a = 'á'
>>> a
'\xc3\xa1'
>>> ua = u'á'
>>> ua
u'\xe1'
>>> ua.encode('utf8')
'\xc3\xa1'
>>> ua.encode('latin1')
'\xe1'
>>> ua
u'\xe1'
Entonces elunicode
cadena parece estar codificada utilizandolatin1
en lugar deutf-8
y la cadena en bruto se codifica utilizandoutf-8
? ¡Estoy aún más confundido ahora! : S