我是靠谱客的博主 勤劳老鼠,最近开发中收集的这篇文章主要介绍转义字符说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

字符表

 

所有的转义字符和所对应的意义:

 

转义字符
意义
ASCII码值(十进制)
a
响铃(BEL)
007
b
退格(BS) ,将当前位置移到前一列
008
f
换页(FF),将当前位置移到下页开头
012
n
换行(LF) ,将当前位置移到下一行开头
010
r
回车(CR) ,将当前位置移到本行开头
013
t
水平制表(HT) (跳到下一个TAB位置)
009
v
垂直制表(VT)
011
\
代表一个反斜线字符'''
092
'
代表一个单引号(撇号)字符
039
"
代表一个双引号字符
034
?
  
代表一个问号
  
063
  
空字符(NULL)
000
ooo
1到3位八进制数所代表的任意字符
三位八进制
xhh
1到2位十六进制所代表的任意字符
二位十六进制
注意:区分,斜杠:"/" 与 反斜杠:"" ,此处不可互换

字符型常量

编辑

 

字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII 表达式来表示一个字符型常量,或者用单引号内加 反斜杠表示转义字符。

 

'A', 'x2f', '13';

 

其中:x表示后面的字符是 十六进制数,表示后面的字符是八进制数。

 

注意:在Turbo C 2.0中,字符型 常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。

 

上面我们见到的x,n,a等等都是叫转义字符,它告诉 编译器需要用特殊的方式进行处理。

组成

编辑

 

转义字符串( Escape Sequence),即 字符实体Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

 

比如,要显示小于号(<),就可以写 &lt; 或者 < 。

 

用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。

 

提示:实体名称(Entity)是区分大小写的。

 

备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。

编程语言

编辑

 

如HTML转义符、java 转义符、xml 转义符、 oracle 转义符、sql 转义符 、sqlserver 转义符、php 转义符、asp 转义符、vb转义符、 javascript 转义符等等,还有网址中的 百分号。

 

例如,HTML的&lt; &gt;&amp;&quot;&copy;分别是<,>,&,",©;的转义字符

 

XML只有5个转义符: &lt; &gt;&amp; &quot; &apos;

作用

编辑

 

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

 

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

 

从上面也可以看出转义无非是两种情况:1:将普通字符转为特殊用途,一般 是编程语言中,用于表示不能直接显示的字符,比如后退键,回车键,等。2:用来将特殊意义的字符转换回它原来的意义。一般用在正则表达式中。还有有些脚本 语言是弱类型,有些语言比如html 并不是编程语言,而是标记语言,有些语言只有一种类型 比如shell 脚本语言,这些语言中字符串都不加引号” ” ,或者可以不加引号“ ”,所以有时候需要转移字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。

 

另外出于网站的安全。在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。这样做可以避免一些别有用心的人利用特殊符号的注入攻击。

显示空格

编辑

 

通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用 &nbsp; 表示空格。

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

 

9. ! URL中指定参数的值 %21

如何避免

编辑

 

在编写网页时,如果直接在双引号之间输入路径,其中的“”及其之后的文本易被误认为转义字符。为避免这一点,C#等语言只需在字符串的引号前加“@”符号(不包括外侧引号)。如:@ "c:abcdef.jpg" 。
 
http://baike.baidu.com/link?url=QFXzEJtffh0uMPBOPA212XBv9SCzh9RZzsI_W_cuFnU4RK3EPHAUahRMqBnEB058jZcTnOrqfSfbQfBxb-SOA_

最后

以上就是勤劳老鼠为你收集整理的转义字符说明的全部内容,希望文章能够帮你解决转义字符说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部