IDNA nameprep 无效字符 u'\x94'

发布于 2025-01-07 10:56:58 字数 455 浏览 1 评论 0原文

我有一些使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2025-01-14 10:56:58

这是因为 \x94 无法在 IDNA 中进行编码 - 请参阅 RFC3454< /a>:

0080-009F; [控制角色]

This is because \x94 can not be encoded in IDNA - see RFC3454:

0080-009F; [CONTROL CHARACTERS]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文