徹底搞懂反斜杠“”和正斜杠"/"的區別
正斜杠,符號是"/";反斜杠,符號是"\"。
在知乎中看到一個答案如下:
知乎用戶:“在絕大多數地方,用的都是/(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;
因為若不這樣表示,則反斜杠\將會當作普通字符,而非路徑的分隔符。
徹底搞懂反斜杠“\”和正斜杠"/"的區別