¿Alguien sabe por qué las funciones de conversión de cadenas arrojan excepciones cuando se pasa errors = "ignore"? ¿Cómo puedo convertir objetos de cadenas normales de Python a Unicode sin generar errores? ¡Muchas gracias!excepciones con funciones de codificación/decodificación unicode de python (¿por qué no se ignoran los errores =)
python -c "import codecs; codecs.open('tmp', 'wb', encoding='utf8', errors='ignore').write('кошка')"
vuelve
de trazas (llamada más reciente pasado):
de archivos "", línea 1, en
Archivo "/usr/lib/python2.6/codecs.py", línea 686, en
escribir retorno self.writer.write (datos)
archivo "/usr/lib/python2.6/codecs.py", línea 351, en la escritura de datos,
consumido = self.encode (objeto, self.errors)
UnicodeDecodeError: el códec 'ascii' no puede decodificar el byte 0xd0 en la posición 0: ordinal no en el rango (128)
EDIT - gracias por las respuestas, pero ¿alguien sabe cómo convertir el literal anterior, sin usar el prefijo "u"? La razón es que, por supuesto, podría tratar con algo que no era una constante :)
Esta es la mejor respuesta. Proporciona compatibilidad con versiones anteriores de Python 3. – Alan