IDNA nameprep无效字符u'\ x94'

时间:2012-02-20 11:48:19

标签: python unicode encoding

我有一些带有unicode的工作网址,并尝试应用IDNA编码

test = ur"http://example.com/%D0%94%D0%B8%D1%81%D0%BA%D0%BE%D0%BD%D1%82-%D1%82%D0%B0%D0%BA%D1%81%D0%B8.22219/"
url_unq = urllib.unquote(test)
print url_unq
print url_unq.encode("idna")

上面的代码失败了:

  

文件“C:\ Python25 \ lib \ encodings \ idna.py”,第38行,在nameprep中       引发UnicodeError(“无效字符%r”%c)UnicodeError:无效字符u'\ x94'

我的编码出了什么问题?

1 个答案:

答案 0 :(得分:2)

这是因为无法在IDNA中对\x94进行编码 - 请参阅RFC3454

  

0080-009F; [控制字符]