鉴于以下代码:
alert(encodeURIComponent("1\0" + "2")); // shows 1%002
alert(encodeURIComponent("1\02")); // shows 1%02
为什么输出会有差异?
答案 0 :(得分:2)
\N
(在这种情况下,\0
)是八进制表示法的开头,用于最多可包含3位数的字符代码。
所以,将"\0"
更改为"\000"
:
"1\0002"
或者:
alert(encodeURIComponent("1\0002"));
您可以在MDN的值,变量和文字页面的Using Special Characters in Strings标题下阅读更多内容。此表示法列为\XXX
。