百度解释
所有的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中
转义字符写法则又有点区别
需要&#开头加上字符编号加上;,例如 
;表示的就是 换号
作用
关于一些特殊字符不能直接表示,比如说在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一共十四位