例如,在Unix中,反斜杠(\)是常见的转义字符。因此,为了在正则表达式中转义句点(。),可以这样做:
\.
但是使用%encoding URL参数,我们有一个转义字符,%,和一个控制代码,因此&符号(&)不会变为:
%&
相反,它变成了:
%26
有什么理由?从某种程度上说,当我们只有一个转义字符和一个在必要时逃脱的机制时,似乎只是让事情变得更复杂:
%%
然后它是:
s/[!\*'();:@&=+$,/?#\[\] "%-\.<>\\^_`{|}~]/%&/g
(未经测试!)\
作为转义字符,生活会更简单,而且整年都是夏天我现在可能会被带走。有人把我击倒了? :)
编辑:取代了&#34;分隔符&#34;的两种用法使用&#34;转义字符&#34;。
答案 0 :(得分:1)
百分比编码不仅发生在转义分隔符上,而且还可以传输URI中不允许的字节(例如控制字符或非ASCII字符)。
答案 1 :(得分:-2)
我想这是因为URL规范,特别是它的HTTP部分,只允许某些字符逃脱,所以必须用允许的字符替换它们。
此外,一些允许的角色具有特殊含义,如&amp;和?等等 所以用控制代码替换它们似乎是解决它的唯一方法
如果您发现很难识别它们,请将此页面添加为书签 http://www.w3schools.com/tags/ref_urlencode.asp