Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python urllib2.unquote()与Javascript unescape()的比较_Javascript_Python_Html_Flask - Fatal编程技术网

Python urllib2.unquote()与Javascript unescape()的比较

Python urllib2.unquote()与Javascript unescape()的比较,javascript,python,html,flask,Javascript,Python,Html,Flask,我有一个字符串,我用python urllib2.quote()编码。所讨论的字符串是“Z%C3%BCrich”,它是从“Zürich”编码的。然而,python处理此问题的方式与JavaScript处理此问题的方式似乎存在差异 在python中: >>> print urllib2.unquote("Z%C3%BCrich") Zürich 在JavaScript中: > unescape("Z%C3%BCrich") 'Zürich' 它们接收相同的输入字符串,

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

在python中:

>>> print urllib2.unquote("Z%C3%BCrich")
Zürich
在JavaScript中:

> unescape("Z%C3%BCrich")
'Zürich'
它们接收相同的输入字符串,但生成非常不同的输出字符串。我做错了什么


注意:这篇文章不是重复的,作者在这篇文章中遇到了相反的问题。

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

将我的评论作为答案发布

你应使用:

decodeURI("Z%C3%BCrich")
而不是JavaScript中的
unescape(“Z%C3%BCrich”)


基本上,
urllib2.quote()
更像JavaScript中的
encodeURI()
。而
urlib2.unquote()
decodeURI()
rahter,而不是
unescape()


您应该始终避免使用JavaScript中的
escape()
unescape()
函数,因为它们会给您奇怪的输出…就像您现在看到的那样。

尝试
decodeURI(“Z%C3%BCrich”)
。基本上,
urlib2.quote()
更像是JavaScript中的
encodeURI()
。而
urlib2.unquote()
decodeURI()
rahter,而不是
unescape()
。你应该避免使用JavaScript中的
escape()
unescape()
函数,因为它们会给你奇怪的输出…就像你现在看到的那样。太好了,我不知道。我对Python很有经验,但对JavaScript还比较陌生。我感谢你的迅速反应。既然你是先回答的,如果你把它作为一个答案贴出来,我会接受你的答案。非常感谢你的迅速回复,效果很好。