unicode().decode('utf-8', 'ignore') raising UnicodeEncodeError

前端 未结 3 1447
无人共我
无人共我 2020-11-30 21:08

Here is the code:

>>> z = u\'\\u2022\'.decode(\'utf-8\', \'ignore\')
Traceback (most recent call last):
  File \"\", line 1, in 

        
3条回答
  •  温柔的废话
    2020-11-30 21:30

    From http://wiki.python.org/moin/UnicodeEncodeError

    Paradoxically, a UnicodeEncodeError may happen when decoding. The cause of it seems to be the coding-specific decode() functions that normally expect a parameter of type str. It appears that on seeing a unicode parameter, the decode() functions "down-convert" it into str, then decode the result assuming it to be of their own coding. It also appears that the "down-conversion" is performed using the ASCII encoder. Hence an encoding failure inside a decoder.

提交回复
热议问题