转义符 自备

时间:2021-08-28 00:50:36


转义字符串

(Escape Sequence)也称字符实体(Character Entity)。

在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。



  其实所有编程语言,拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。比如说Html中,<被HTML定义为标签的开始,所以当我们转入<时,HTML就会把它当作为开始,而不是当作一个<来看待。再如PHP 的双引号("),被PHP定义为字符串的外围标签,所以如果你在



  一对双引号里面,还想要使用双引号,只能使用转义字符了。不然C#就会报错了。

---------------------------------------------------------------------

下面摘录一些常见转义符

JavaScript转义符



  \b 退格



  \f 走纸换页



  \n 换行



  \r 回车



  \t 横向跳格 (Ctrl-I)



  \' 单引号



  \" 双引号



  \\ 反斜杠

 

url转义字符

 web 开发中通过问号(?)方式在浏览器地址栏中传值时。浏览器是通过“&”来区分问号后的参数个数的。 如果出现传值参数中带有“&”时,在接受页面就会出现错误,类似如下请求路径:/next.jsp?param1=hendhs89&furej & param2=sss



  参数param1中含有转义字符“&” ,这样会导致被请求页的参数接收错误。



  在传值前 通过 java.net.URLEncoder.encode(param1) 编码处理后,可将转义字符转为16进制;



  1. + URL 中+号表示空格 %2B



  2. 空格 URL中的空格可以用+号或者编码 %20



  3. / 分隔目录和子目录 %2F



  4. ? 分隔实际的 URL 和参数 %3F



  5. % 指定特殊字符 %25



  6. # 表示书签 %23



  7. & URL中指定的参数间的分隔符 %26



  8. = URL中指定参数的值 %3D

 

 

备注

在编写代码时,如果直接在双引号之间输入路径,其中的“\”及其之后的文本易被误认为转义字符。为避免这一点,只需在字符串的引号前加“@”符号(不包括外侧引号)。如:@ "c:\ab\cd\ef.jpg"