网站URL中特殊字符转义编码

网站开发建设的时候,有时候会使用JavaScript的escape(),encodeURIComponent(),encodeURI ()等函数进行URL编码,防止特殊字符接收不到或网站URL无法访问。
下面列出部分特殊字符的转义编码,以供参考:
字符 - URL编码值
空格 - %20
"      - %22
#     - %23
%    - %25
&    - %26
(      - %28
)      - %29
+     - %2B
,       - %2C
/       - %2F
:       - %3A
;       - %3B
<      - %3C
=      - %3D
>      - %3E
?       - %3F
@     - %40
\       - %5C
|       - %7C  
URL特殊字符转义 
URL中一些字符的特殊含义,基本编码规则如下:
1、空格换成加号(+)
2、正斜杠(/)分隔目录和子目录
3、问号(?)分隔URL和查询
4、百分号(%)制定特殊字符
5、#号指定书签
6、&号分隔参数

如果需要在URL中用到,需要将这些特殊字符换成相应的十六进制的值
+ %2B
/ %2F
? %3F
% %25
# %23
& %26

转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当做文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
其实所有编程语言,拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。比如说Html中,<被HTML定义为标签的开始,所以当我们转入<时,HTML就会把它当作为开始,而不是当作一个<来看待。再如PHP 的双引号("),被PHP定义为字符串的外围标签,所以如果你在一对双引号里面,还想要使用双引号,只能使用转义字符了。不然PHP就会报错了。
从上面也可以看出转义无非是两种情况:1:将普通字符转为特殊用途,一般是编程语言中,用于表示不能直接显示的字符,比如后退键,回车键,等。2:用来将特殊意义的字符转换回它原来的意义。一般用在正则表达式中。还有有些脚本语言是弱类型,有些语言比如html 并不是编程语言,而是标记语言,有些语言只有一种类型 比如shell 脚本语言,这些语言中字符串都不加引号” ” ,或者可以不加引号“ ”,所以有时候需要转义字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。
另外出于网站的安全。在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。这样做可以避免一些别有用心的人利用特殊符号的注入攻击。



本文地址:http://www.snl.cn/article/626

↑上一篇: 特制金峻眉茶叶价格为何这么贵?
↓下一篇: 平时少喝茶的人为什么不建议喝小青柑?

填写您的需求/意见获取项目报价。

*请认真详细填写需求信息(简单留言均不回复!!!!留言样板!!! 戳>>),SNL会在24小时内与您取得联系。
线上服务咨询扫码关注SNL020-86000345填写需求索取报价

Copyright © 2003-2021 SNL 版权所有 广州市天传计算机网络技术有限公司 粤ICP备14094397号