Tôi chỉ đang cố gắng giải mã chuỗi \ uXXXX \ uXXXX \ uXXXX. Nhưng tôi gặp lỗi:UnicodeEncodeError: codec 'ascii' không thể mã hóa các ký tự ở vị trí 0-5: thứ tự không nằm trong phạm vi (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)
Tôi là người mới Python. Vấn đề là gì? Cảm ơn!
Tại sao bạn muốn ** giải mã ** dữ liệu đã giải mã? –
Vấn đề là bạn đang sử dụng Python 2, nơi có phương pháp lừa dối '.decode' có sẵn trên chuỗi Unicode. Sử dụng 'python3' và vấn đề kỳ diệu biến mất, như' u ''. Decode' sẽ gây ra 'AttributeError: 'str' đối tượng không có thuộc tính 'decode'' thay thế. –