工作,因为你的%uxxxx不是Python标准,这是为\ uXXXX,你需要一个棘手的变换来代替“%”以“\”,像下面的(在我的Python壳测试):
>>> import sys; reload(sys); sys.setdefaultencoding('utf8')
<module 'sys' (built-in)>
>>> text = '%u05D0%u05D9%u05DA%20%u05DE%u05DE%u05D9%u05E8%u05D9%u05DD%20%u05D0%u05EA%20%u05D4%u05D8%u05E7%u05E1%u05D8%20%u05D4%u05D6%u05D4'
>>> text = text.replace('%', '\\')
>>> text_u = text.decode('unicode-escape')
>>> print text_u
איךממיריםאתהטקסטהזה
转换成Unicode类型后,就可以把它转换为任何你喜欢的编码,如下:
>>> text_utf8 = text_u.encode('utf8')
>>> text_utf8
'\xd7\x90\xd7\x99\xd7\x9a\x10\xd7\x9e\xd7\x9e\xd7\x99\xd7\xa8\xd7\x99\xd7\x9d\x10\xd7\x90\xd7\xaa\x10\xd7\x94\xd7\x98\xd7\xa7\xd7\xa1\xd7\x98\x10\xd7\x94\xd7\x96\xd7\x94'
>>> print text_utf8
איךממיריםאתהטקסטהזה
可能的复制[Ho w在python中取消一个urlencoded unicode字符串?](http://stackoverflow.com/questions/300445/how-to-unquote-a-urlencoded-unicode-string-in-python)。简短的回答:'%uXXXX`编码方案是非标准的,你可能必须编写你自己的解码器。 – 2010-12-22 19:51:14