Possible en double:
Python UnicodeDecodeError - Am I misunderstanding encode?Python: désinfecter une chaîne pour unicode?
J'ai une chaîne que je suis en train de faire en toute sécurité pour la fonction 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)
Je suis surtout autour flailing ici. Que dois-je faire pour supprimer les caractères dangereux de la chaîne?
Un peu lié à ce question, bien que je n'ai pas pu résoudre mon problème.
Cela échoue aussi:
>>> 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
Je me demande pourquoi 'str' a une fonction' encodage' et si le paramètre 'encoding' spécifie le codage du résultat ou le codage de l'entrée. Qu'est-ce que tu essaies de faire ici? – Thanatos
S'il vous plaît vérifier [this] (http://stackoverflow.com/questions/368805/python-unicodedecodeerror-am-i-misunderstanding-encode/370199#370199) répondre à une question connexe: "Python UnicodeDecodeError - Suis-je un code malentendu? " – tzot
Pour ceux qui recherchent une solution pour désinfecter les caractères spéciaux unicode en (X) HTML, essayez' u'my unicode str'.encode ('ascii', 'xmlcharrefreplace') '. – toszter