评价一个网站设计项目的好坏,广州网站建设鞍山,著名营销策划公司,杭州正规引流推广公司文章目录转义符号 \转义字符清单换行符横向制表符空格编码符转义符号 \
反斜杠\在程序设计中称为转义符#xff0c;用来表示那些不能直接显示的字符。例如#xff1a;换行。 在不同的系统中换行的表示又不相同#xff0c;在Unix中换行符是\n,而在Windows中换行符是\r\n用来表示那些不能直接显示的字符。例如换行。 在不同的系统中换行的表示又不相同在Unix中换行符是\n,而在Windows中换行符是\r\n先回车再换行,在Mac中换行是\r。这里的换行符的意思是当我们使用文本编辑器书写内容时当我们完成一行内容(无论主动敲击回车键换行还是文本编辑器自动换行)编辑器会自动在我们每行文本后添加转义字符(\n或者\r\n或者\r也就是在每行末尾做个“标记”当使用编辑器打开时方便我们查看(这些“标记”我们看不到)。 另外在Bash中用于去除某些字符的特殊意义保留跟随在\之后的字符的字面值参考示例1。 示例1
ubuntuubuntu:~$ echo $HOME
/home/ubuntu
ubuntuubuntu:~$ echo \$HOME
$HOME说明反斜线去除了$字符的特殊意义保留字面值从而不输出HOME变量的值
扩展知识 路径和参数的表示符号
Windows/是表示参数\是表示本地路径Linux和Unix/表示路径\表示转义-和--表示参数网络由于网络使用Unix标准所以网络路径用/
参考文章 Linux下反斜杠号引发的思考
转义字符清单
转义字符含义ASCII 码16/10 进制\o空字符NULL00H/0H 表示十六进制其实可以写成 0x00\n换行符LF, Line Feed0AH/10十六进制数可以写成 0x0A下同\r回车符CR, Carriage Return0DH/13\t水平制表符HT, Horizontal Tab09H/9\v垂直制表符VT, Vertical Tab0BH/11\a响铃BEL, Bells07H/7\b退格符BS, Backspace08H/8\f换页符FF, Form Feed0CH/12\单引号27H/39\双引号22H/34\\反斜杠5CH/92\?问号字符3F/63\$美元符号\ddd三位八进制所代表的任意字符三位八进制\xhh二位十六进制数所代表的任意字符二位十六进制
换行符
\r是回车本义是光标重新回到本行开头名称传承自以前的打字机表示打印头归位r的英文return控制字符可以写成CR即Carriage Return
\n是换行本义是光标往下一行不一定到下一行行首名称传承自以前的打字机表示走纸另起一行n的英文newline控制字符可以写成LF即Line Feed Dos和Windows采用回车CR换行LF表示下一行转义符号\r\n具体含义光标回到本行开头并往下一行十六进制ASCII码0x0D0A Unix类系统中采用换行LF表示下一行转义符号\n具体含义光标下一行并回到行首十六进制ASCII码0x0A MAC OS中采用回车CR表示下一行转义符号\r具体含义光标回到本行开头并往下一行十六进制ASCII码0x0D
用表格整理如下
–WindowsLinux/UnixMac OS换行符\r\n\n\rASCII0x0D0A0x0A0x0D
注意 vi/vim编辑器中0x0D0A被表示成^M$$不是换行符的表示换行符没有表示出来$是文本结束EOF的表示关于这个^M$东西并没有同时出现过呀我有疑问 一个直接后果是Unix/Mac系统下的文件在Windows里打开的话所有文字会变成一行而Windows里的文件在Unix下打开例如vi编辑器的话在每行的结尾会出现^M字符。
扩展知识 关于“回车键”的来历 还得从机械英文打字机说起。在机械英文打字机上有一个部件叫“字车”每打一个字符原为单词但是个人觉得这里应该是字符“字车”就前进一格。当打满一行字符后打字者就得推动“字车”到起始位置这时打字机会有两个动作响应一是“字车”被归位二是滚筒上卷一行以便开始输入下一行这个推动“字车”的动作叫“回车”。后来在电动英文打字机上人们增加了一个直接起“回车”作用的键。这个新增的键就被称为“回车键”。 在电脑键盘上“回车键”上曾经使用过“CR”、“RETURN”的字样后来才统一确定为“Enter”。 为什么Windows会使用\r\n作为换行符 在计算机还没有出现之前有一种叫做电传打字机Teletype Model 33Linux/Unix下的tty概念也来自于此的玩意每秒钟可以打10个字符。但是它有一个问题就是打完一行换行的时候要用去0.2秒注估计是从打字机的最右边回到最左边的机械运动 所需要的时间正好可以打两个字符。要是在这0.2秒里面又有新的字符传过来那么这个字符将丢失。 于是研制人员想了个办法解决这个问题就是在每行后面加两个表示结束的字符。一个叫做“回车Carriage Return”告诉打字机把打印头定位在左边界另一个叫做“换行Line Feed”告诉打字机把纸向下移一行。这就是“换行”和“回车”的来历从它们的英语名字上也可以看出一二。
横向制表符
\t横向制表符HT表示跳到下一个 TAB 位置也叫水平制表符
\t是补全当前字符串长度到 8 的整数倍最少 1 个最多 8 个空格补多少要看 \t 前字符串长度。
比如当前字符串长度 10那么 \t 后长度是16也就是补 6 个空格如果当前字符串长度 12此时 \t 后长度是16补 4 个空格。
空格
半角空格的 Unicode 是\u0020代码中常用的是英文符号 全角空格的 Unicode 是\u3000中文中使用是中文符号
编码符
\u表示Unicode编码例如\u4f60\u597d\uff0c\u4e16\u754c\u后面的是十六进制数转换成二进制数是2个字节16bit表示2个字节表示一个字符这里有5个字符如下 public static void main(String[] args) {System.out.println(\u4f60\u597d\uff0c\u4e16\u754c);}得到的实际字符是 你好世界