Duplicar posible:
Python UnicodeDecodeError - Am I misunderstanding encode?Python: Sanitize una cadena para Unicode?
tengo una cadena que estoy tratando de hacer un uso seguro de la función unicode()
:
>>> s = " foo “bar bar ” weasel"
>>> s.encode('utf-8', 'ignore')
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
s.encode('utf-8', 'ignore')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x93 in position 5: ordinal not in range(128)
>>> unicode(s)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
unicode(s)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x93 in position 5: ordinal not in range(128)
Lo que más me agitándose aquí. ¿Qué debo hacer para eliminar los caracteres inseguros de la cadena?
Algo relacionado con este question, aunque yo era incapaz de resolver mi problema de ella.
Esto también falla:
>>> s
' foo \x93bar bar \x94 weasel'
>>> s.decode('utf-8')
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
s.decode('utf-8')
File "C:\Python25\254\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x93 in position 5: unexpected code byte
Me pregunto por qué 'str' tiene una función' encode' en absoluto, y si el parámetro "codificación" especifica la codificación del resultado, o la codificación de la entrada. ¿Qué estás intentando hacer exactamente aquí? – Thanatos
Compruebe [this] (http://stackoverflow.com/questions/368805/python-unicodedecodeerror-am-i-misunderstanding-encode/370199#370199) responda a una pregunta relacionada: "Python UnicodeDecodeError - ¿Estoy entendiendo mal la codificación? " – tzot
Para aquellos que buscan una solución para desinfectar caracteres especiales Unicode en (X) HTML, intente' u'my unicode str'.encode ('ascii', 'xmlcharrefreplace') '. – toszter