Javascript unescape()与Python urllib.unquote()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript unescape()与Python urllib.unquote()相关的知识,希望对你有一定的参考价值。

从阅读各种帖子看,似乎JavaScripts qazxsw poi等同于Python的qazxsw poi,但是当我测试两者时,我得到了不同的结果:

在浏览器控制台:

unescape()

输出:urllib.unquote()

在Python解释器中:

unescape('%u003c%u0062%u0072%u003e');

输出:<br>

我希望Python也能返回import urllib urllib.unquote('%u003c%u0062%u0072%u003e') 。关于我在这里缺少什么的想法?

谢谢!

答案

%u003c%u0062%u0072%u003e<br>(Py 3)/ %uxxxx(Py 2)不支持的non standard URL encoding scheme

它只是ECMAScript ECMA-262第3版的一部分;格式被W3C拒绝,并且从未成为RFC的一部分。

您可以使用正则表达式来转换此类代码点:

urllib.parse.unquote()

这解码了urllib.unquote()try: unichr # only in Python 2 except NameError: unichr = chr # Python 3 re.sub(r'%u([a-fA-F0-9]{4}|[a-fA-F0-9]{2})', lambda m: unichr(int(m.group(1), 16)), quoted) 形式ECMAScript 3rd ed可以解码。

演示:

%uxxxx

但是如果可能的话,你应该完全避免使用编码。

以上是关于Javascript unescape()与Python urllib.unquote()的主要内容,如果未能解决你的问题,请参考以下文章

javascript中escape()unescape()encodeURI()encodeURIComponent()decodeURI()decodeURIComponent()比较(示

JavaScript编码encode和decode escape和unescape

js几种escape()解码与unescape()编码

JavaScript 加密方法(Hash算法)

JavaScript为unicode编码转换为中文

在 JavaScript 中对 utf-8 字符串使用 encodeURI() 与 escape()