斜杠和反斜杠
正斜杠 “/”
早期的Unix系统设计中,正斜杠 “/”被选定作为目录分隔符。
/home/user/documents |
这一选择主要是由于斜杠在ASCII
字符集中位于更容易访问的位置,并且早期计算机系统的键盘布局也使其易于输入。
反斜杠(\)在早期的键盘布局中通常需要使用Shift键或者位于较不显眼的位置,这使得它在当时的输入操作中不如斜杠方便。
随着互联网的发展,蒂姆·伯纳斯·李(Tim Berners-Lee
)在设计URL(统一资源定位符)时也选择了使用正斜杠 “/”作为路径分隔符,以保持与Unix文件系统的兼容性。
反斜杠 “\”
然而在MS-DOS系统中,反斜杠“\”被选定为目录分隔符。
C:\Users\User\Documents |
这一选择的一个原因是当时的操作系统需要与CP/M
操作系统兼容,而CP/M
使用反斜杠 “\”作为命令行参数的前缀。为了避免冲突,MS-DOS选择了反斜杠作为目录分隔符。
CP/M(Control Program for Microcomputers)
是由Gary Kildall
在1974年为Intel 8080/85
基于Zilog Z80
微处理器设计的一种早期操作系统。它在20世纪70年代末和80年代初非常流行,被广泛用于早期的微型计算机上。
实际使用中的区别
用作目录分割符
Unix(Linux、macOS和其他类Unix系统中),使用正斜杠 “/”;
/home/user/documents |
在Windows操作系统中,使用反斜杠 “\”;
C:\Users\User\Documents |
用作运算符号
正斜杠 “/”,表示除法,“//”表示取整除;
反斜杠 “\”,表示转义。比如 \n
是换行符。
包裹正则表达式
在Perl和JavaScript等语言中,正斜杠 “/” 用于包围正则表达式。例如:/regex/
。
URL
在URL中,正斜杠 “/”用于分隔协议、域名和路径。
https://www.google.com/ |
资源路径(坑点!!)
在使用Windows环境开发时,出现在普通字符串的路径,如果是windows文件路径,则使用正斜杠和 反斜杠 是一样的;
如果是网络文件路径,则必须使用 正斜杠。
1 <img src=".\Image/maishu/1.jpg" /> // 本地文件路径,/ 和 \ 是等效的 |
最后
**斜杠(/) 和反斜杠(\) **在不同操作系统中被选择为目录分隔符,主要原因包括字符在ASCII字符集中的位置、键盘布局的便捷性,以及历史设计决策和兼容性需求。