彻底搞懂反斜杠“”和正斜杠"/"的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了彻底搞懂反斜杠“”和正斜杠"/"的区别相关的知识,希望对你有一定的参考价值。

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

在知乎中看到一个答案如下:

知乎用户:“在绝大多数地方,用的都是/(slash),包括Mac/Linux,也包括URL。你唯一需要记住的是,Microsoft这个怪鸡在自己的操作系统里面偏要用\\(backslash),使得自己与众不同。

Unix使用正斜杠/作为路径分割符,而Web应用最先是使用在Unix系统上面,所以目前所有的网络地址都采用正斜杠/作为分隔符。

Windows由于使用正斜杠/作为DOS命令提示符的参数标志了,为了不混淆,所以采用反斜杠\\作为路径分隔符。所以目前windows系统上的文件浏览器都是用反斜杠\\作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用得很少,斜杠和反斜杠在大多数情况下可以互换,没有影响。

我在cmd.exe验证了一下:

 正斜杠:

技术分享图片

反斜杠:

技术分享图片

知道这个背景后,可以总结一下结论:

(1)浏览器地址栏网址使用 正斜杠/;

(2)windows文件浏览器上使用 反斜杠\\;

(3)出现在htm url()属性中的路径,指定的路径是网络路径,所以必须使用 正斜杠/;

1 <div style="background-image:url(/Image/Control/title.jpg); background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>
2 // 如果url后面用反斜杠,就不会显示任何背景

(4)出现在普通字符串的路径,如果代表的是windows文件路径,则使用 正斜杠/和 反斜杠\\是一样的;如果代表的是网络文件路径,则必须使用 正斜杠/;

1 <img src=".\\Image/Control/ding.jpg" /> // 本地文件路径,/ 和 \\ 是等效的
2 <img src="./Image\\Control\\cai.jpg" />
3 <img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> // 网络文件路径,一定要使用 斜杆/

另外在编程中,常用反斜杠\\加字符表示转义字符,如\\0表示“空字符”\\r表示“回车”,\\n表示“换行”等。

而"\\\\"则表示反斜杠\\的转义字符,在编程中常用于表示反斜杠\\不是普通的字符,而是路径的分隔符。如用一个字符串存储保存文件的路径时,路径为F:\\caffe\\Temp\\image.jpg;则用字符串存储时,应该写为str=F:\\\\caffe\\\\Temp\\\\image.jpg;

因为若不这样表示,则反斜杠\\将会当作普通字符,而非路径的分隔符。

以上是关于彻底搞懂反斜杠“”和正斜杠"/"的区别的主要内容,如果未能解决你的问题,请参考以下文章

Linux中的正斜杆(/)和反斜杆(\)的作用

如何在VIM findsearch中转义反斜杠和正斜杠?[重复]

添加 Firebase 数据、点和正斜杠

为啥字符和正斜杠被附加到我的 NSURL?

Oracle 中的 JDBC 瘦连接字符串同时使用冒号和正斜杠

apache ant怎么把路径的斜杠换成正的