转义字符

来源:互联网 发布:如何选购净水器 知乎 编辑:程序博客网 时间:2024/06/03 04:22

百度解释
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加”\”来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。


转义字符 意义 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 \0 空字符(NULL) 000 \ooo 1到3位八进制数所代表的任意字符 三位八进制 \xhh 1到2位十六进制所代表的任意字符 二位十六进制

组成 转义字符串(Escape String),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。
比如,要显示小于号(<),就可以写 < 或者 < 。 用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less
than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。
提示:实体名称(Entity)是区分大小写的。
备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。

以上均摘自百度百科



转义字符的编号对应ACS||表。

java
例如A~Z在表中的编号为65~90
可以用‘65’表示A 也可以通过十六进制或者八进制 分别位’\x65’和‘\065’


html
转义字符写法则又有点区别
需要&#开头加上字符编号加上;,例如 &#10;表示的就是 换号


作用

关于一些特殊字符不能直接表示,比如说在java字符串中“”双引号中加入存在引号,“”这样表示的话编译肯定不会通过的。我们就可以使用ACS||转义字符来表示“\””这样表示的就是内容为的字符串。

Unicode转义字符
\u+编号表示转义字符。

Unicode转义字符和ACS||转义字符的在java中的区别
unicode转义字符会在java编译器中被替换为编号表示的字符例如

public class EscapeRout{      public static void main(String[] args){          // \u0022 是双引号的Unicode转义字符          System.out.println("a\u0022.length()  +\u0022b".length());      }  } 

输出的长度为2
因为”a\u0022.length() +\u0022b”.length()在源文件中最后会被解析为”a”.length() +”b”.length()

如果改为

public class EscapeRout{      public static void main(String[] args){          // \u0022 是双引号的Unicode转义字符          System.out.println("a\".length()  +\"b".length());      }  } 

这输出的为14
应为字符串中的字符为a”.length() +”b一共十四位

Unicode转义字符和ACS||转义字符的在java中的区别
百度百科

原创粉丝点击