Sto semplicemente cercando di decodificare la stringa \ uXXXX \ uXXXX \ uXXXX. Ma ottengo un errore:UnicodeEncodeError: il codec 'ascii' non può codificare i caratteri nella posizione 0-5: ordinale non compreso nell'intervallo (128)
$ python
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print u'\u041e\u043b\u044c\u0433\u0430'.decode('utf-8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
Sono un principiante di Python. Qual è un problema? Grazie!
Perché si desidera ** decodificare ** dati già decodificati? –
Il problema è che stai usando Python 2, dove c'è un metodo '.decode' ingannevole disponibile sulle stringhe Unicode. Usa 'python3' e il problema scompare magicamente, dato che' u '' decode' causerebbe 'AttributeError: '' l'oggetto 'str' non ha invece alcun attributo 'decode''. –