正斜杠和反斜杠的作用和区别

资料来源

CSDN博客
斜杠百科
在编码和日常工作学习中,常常会用到正斜杠’/‘和反斜杠’’,有时候我会弄混,索性今天就来系统的记录它们的作用和区别:

历史来源

操作系统

设计了这种路径分隔法,它使用斜杠:/。由于网络是首先应用在 UNIX 计算机之间的,至今为止,一半以上的网络服务器仍是使用 UNIX 操作系统,所以网址也沿用了斜杠作路径分隔符。

DOS 2.0
从 UNIX 中借鉴了这种目录结构,但由于 DOS 中,斜杠已经用来作为命令行参数的标志了(UNIX 中用的是“ - ”符),所以只得使用反斜杠:\

Windows 时代
很多时候已经没有命令行参数的干扰,加上网络使用的扩展,现在斜杠和反斜杠大多时候可以互换,没有什么影响。

互联网世界
斜杠“/”是很常见的一个符号。它的位置在右 Shift 的左边,不用按 Shift 就能够输入。
斜杠之所以占据那么重要的地位,应该得益于操作系统(Unix、Dos)的流行。在命令行中,一个斜杠往往是表示着根目录,也作为目录与目录之间的分割。

使用要点

正斜杠,符号是"/"; 反斜杠,符号是""。

正斜杠/表示除法,分割。

在unix系统中,正斜杠/表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。

在windows系统中,正斜杠/通常用来分割命令行参数,用\表示目录。

windows本地路径用\,如C:\windows\system32。

网络一般用/,如http://www.xxx.com/

注意事项

其实到了互联网时代,除了 URL 中可能要用到斜杠外,其他地方很少见到它的身影,它并没有随着历史而去。在编程中,经常用到“/”和“\”。在程序中,有时我们会看到这样的路径写法,“D:\Driver\Lan” 也就是两个反斜杠来分隔路径。事实上,上面这个路径可以用 “D:/Driver/Lan” 来代替,不会出错,写成了"D:\Driver\Lan"就可能会出现错误。至于出现错误的原因,还要从字符串解析这方面来分析。学过编程的人都知道,在C里面,输入字符串时,如果想输入一个换行,那就要加上’\n’这个标志,输出一个TAB 就要加上 ‘\t’,反斜杠(’’)这个符号会把跟在它后面的字符串结合起来转义成其它字符。根据这个原理,如果想输出双引号(’ " ‘)就要输入’ " ‘,才能将包含了双引号的字符正确的写入到内存中。要想输入一个反斜杠的话,只有敲’ \ '了,这就是前面为什么会用两个反斜杠来分隔路径的原因。如果将"D:\Driver\Lan"这个路径字符串交给C语言编译器编译,实际上写入内存的字符串并没有包含反斜杠"",甚至跟在它后面的字母也会一起被转义成了其它的字符。字符串解析不仅仅局限于C编译器,Java编译器、一些配置文件的解析、WEB服务器等等,都会遇到这个问题。

你可能感兴趣的:(技术的细枝末节)