模仿Javascript escape()函数

时间:2017-04-29 10:01:39

标签: javascript python python-3.x encoding escaping

如下表http://www.javascripter.net/faq/accentedcharacters.htm所示,escape()encodeURI()之间存在差异。

我需要模仿escape()的行为,因为它是另一个系统所需要的,但事实证明Python很复杂。

msg = "¿El mañana exitirá?"

# javascript: console.log(escape(msg)) # %BFEl%20ma%F1ana%20exitir%E1%3F
q = urllib.parse.quote(msg)
print(q) # %C2%BFEl%20ma%C3%B1ana%20exitir%C3%A1%3F

q = urllib.parse.quote(msg, encoding="unicode_escape")
print(q) # %5CxbfEl%20ma%5Cxf1ana%20exitir%5Cxe1%3F

如何让Python模仿escape

1 个答案:

答案 0 :(得分:2)

事实证明,我非常接近:

msg = "¿El mañana exitirá?"
q = urllib.parse.quote(msg, encoding="raw_unicode_escape")
print(q) # %BFEl%20ma%F1ana%20exitir%E1%3F