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

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

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

知乎用户:“在绝大多数地方,用的都是/(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;

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

时间: 2024-10-10 03:12:42

彻底搞懂反斜杠“\”和正斜杠"/"的区别的相关文章

你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗

ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性:    Oracle.MYSQL与DB2可在所有主流平台上运行:    SQL Server只能在Windows下运行: --安全性:    Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证:    这方面证明了Oracle的安全性是高于SQL Server的: --数据类型.函数.sql语句:    oracle中有复合数据类型,sql server中没有: 总之:   

一次性搞懂C#中的==、Equals()和ReferenceEquals()的区别

首先看CLR中基本值类型之间的比较,先看代码: int age1 = 30; int age2 = 30; Console.WriteLine("int == int: {0}", age1 == age2); Console.WriteLine("int == int: {0}", age2 == age1); Console.WriteLine("int Equals int: {0}", age1.Equals(age2)); Consol

【转】一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别

转自:http://www.2cto.com/kf/201409/333401.html 总是会被javascript的event对象的clientX,offsetX,screenX,pageX 弄得头晕,于是决定做个图来区分一下(画得我手那个酸呀....) 先总结下区别: event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX.event.pageY

一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别

先总结下区别: event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX.event.pageY 类似于event.clientX.event.clientY,但它们使用的是文档坐标而非窗口坐标.这2个属性不是标准属性,但得到了广泛支持.IE事件中没有这2个属性. event.offsetX.event.offsetY 鼠标相对于事件源元素(srcEle

轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别

总是会被javascript的event对象的clientX,offsetX,screenX,pageX 弄得头晕 先总结下区别: event.clientX.event.clientY 鼠标相对浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX.event.pageY 类似于event.clientX.event.clientY,但它们使用的是文档坐标而非窗口坐标.这2个属性不是标准属性,但得到了广泛支持.IE

正斜杠(/)与反斜杠(\)区别

正斜杠,符号是"/";反斜杠,符号是"\". 一直很不解正斜杠与反斜杠到底有何区别?经过一段时间的理解,得出 DOS路径: E:\开发资料\ASP.NET高级开发   ...这是反斜杠的作用后面跟着的是文件名 csc /t:library /r:System.Web.dll /out:d:\CustomHandler.dll d:\CustomerHandler.cs  ...这就是正斜杠后面是一个名令的参数dir 是命令. Windows系统: 反斜杠\,在win

计算机中的正斜杠(/)与反斜杠(\)的区别

正斜杠,符号是"/";反斜杠,符号是"\". 一直很不解正斜杠与反斜杠到底有何区别?经过一段时间的理解,得出 DOS路径: E:\开发资料\ASP.NET高级开发   ...这是反斜杠的作用后面跟着的是文件名 csc /t:library /r:System.Web.dll /out:d:\CustomHandler.dll d:\CustomerHandler.cs  ...这就是正斜杠后面是一个名令的参数dir 是命令. Windows系统: 反斜杠\,在win

【转】python中的正斜杠、反斜杠

原文地址:http://www.cnblogs.com/followyourheart1990/p/4270566.html 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" p

Python中的正斜杠与反斜杠

首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt" path2 = "c: