IDNA nameprep 无效字符 u'\x94'
我有一些使用 unicode 的工作 url 并尝试应用 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 中 raise UnicodeError("无效字符 %r" % c) UnicodeError: 无效字符 u'\x94'
我的编码有什么问题?
I have some working url with unicode and trying to apply IDNA encoding
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")
The code above fails with:
File "C:\Python25\lib\encodings\idna.py", line 38, in nameprep
raise UnicodeError("Invalid character %r" % c) UnicodeError: Invalid character u'\x94'
What's wrong with my encodings?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是因为
\x94
无法在 IDNA 中进行编码 - 请参阅 RFC3454< /a>:This is because
\x94
can not be encoded in IDNA - see RFC3454: