Python urllib2.unquote()与Javascript unescape()

2024-05-12 23:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用python urllib2.quote()编码的字符串。有问题的字符串是"Z%C3%BCrich",它是从"Zürich"编码的。然而,python处理这一问题的方式与JavaScript的处理方式似乎存在差异。在

在python中:

>>> print urllib2.unquote("Z%C3%BCrich")
Zürich

在JavaScript中:

^{pr2}$

它们接收相同的输入字符串,但生成的输出字符串却截然不同。我做错什么了?在

注意:这篇文章不是this post的副本,作者在这篇文章中遇到了相反的问题。在


Tags: 字符串编码方式差异urllib2javascriptthispost
2条回答

Javascript函数unescape()已弃用,您应该改用decodeURI()unescape()将为您提供字符串的utf-8编码形式,而不是所需的unicode。在

将我的评论作为答案发布。

您应该使用:

decodeURI("Z%C3%BCrich")

而不是JavaScript中的unescape("Z%C3%BCrich")。在

基本上,urllib2.quote()更像JavaScript中的encodeURI()。并且urllib2.unquote()decodeURI()大。在

您应该避免JavaScript中的escape()和{}函数,因为它们会给您奇怪的输出……就像您现在得到的一样。在

相关问题 更多 >