徹底理解斜杠和反斜杠的區別


前言

鑒於在Windows(開發環境)和Linux(部署環境)之中的路徑(斜杠和反斜杠)經常會進行混淆,所以專門寫一篇筆記來進行區分。大部分是按照博客園那位老兄的思路進行編寫,並且結合另外一些人的想法,進行了整理和排版。

理解

先講講我的理解:Windows由於自身的限制,在所有人都用正斜杠"/"的情況下,帶了個壞頭,用了反斜杠"",萬惡之源。就像是Windows的第一個字母W的第一個筆畫,反斜杠\的寫法,倒退的作用。

知乎上不同人的理解。

  1. ” "/" 英文是forward slash, "\" 是backward slash,
    形象些比喻的話,“/"是一個人站立着向前傾倒->, 而"\"是一個人站立着向后傾倒。“
    img

  2. 知乎用戶:“在絕大多數地方,用的都是/(slash),包括Mac/Linux,也包括URL。你唯一需要記住的是,Microsoft這個怪雞在自己的操作系統里面偏要用\(backslash),使得自己與眾不同

  3. 評論區人才:“正斜杠/是一撇,反斜杠\是一捺”。

  4. 我的理解:Windows由於自身的限制,帶了個壞頭,用了反斜杠,萬惡之源。就像是Windows的第一個筆畫,反斜杠的寫法,倒退的作用。

不同操作系統的區別

  1. Unix使用斜杠/作為路徑分割符,而Web應用最先是使用在Unix系統上面,所以目前所有的網絡地址都采用斜杠/作為分隔符。Linux又稱升級版的Unix,所以路徑這方面跟Unix是大同小異的。
  2. Windows由於使用斜杠/作為DOS命令提示符的參數標志了,為了不混淆,所以采用反斜杠\作為路徑分隔符。所以目前Windows系統上的文件瀏覽器都是用反斜杠\作為路徑分隔符。隨着發展,DOS系統已經被淘汰了,命令提示符也用得很少,斜杠和反斜杠在大多數情況下可以互換,沒有影響。
    DOS命令提示符示例:dir /a (列出當前目錄所有文件和目錄)

結論

  1. 統一用正斜杠"/",Windows和Linux都能識別

  2. 網絡路徑(瀏覽器地址欄網址)使用 正斜杠/;

  3. Windows文件瀏覽器上使用 反斜杠\;

  4. Windows本地路徑既能使用正斜杠,也能使用反斜杠。

  5. 出現在htm url()屬性中的路徑,指定的路徑是網絡路徑,所以必須使用 正斜杠/;

    <div 
     style="
         background-image:url(/Image/Control/title.jpg); 
         background-repeat:repeat-x; 
         padding:10px 10px 10px 10px
     ">
     </div>
    // 如果url后面用反斜杠,就不會顯示任何背景
    
  6. 出現在普通字符串的路徑,如果代表的是Windows文件路徑,則使用 正斜杠/和 反斜杠\是一樣的;如果代表的是網絡文件路徑,則必須使用 正斜杠/;

     // 本地文件路徑,/ 和 \ 是等效的
     <img src=".\Image/Control/ding.jpg" /> 
     <img src="./Image\Control\cai.jpg" />
    
     // 網絡文件路徑,一定要使用 斜桿/
     <img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> 
    
  7. 單獨的一個反斜杠"\"在編程中通常用於轉義字符,如\0表示“空字符”\r表示“回車”,\n表示“換行”等;所有通常要用到反斜杠時,要用兩個反斜杠"\\"來表示一個反斜杠“\”的含義

  8. 而"\\"則表示反斜杠\的轉義字符,在編程中常用於表示反斜杠\不是普通的字符,而是路徑的分隔符。如用一個字符串存儲保存文件的路徑時,路徑為F:\caffe\Temp\image.jpg;則用字符串存儲時,應該寫為str=F:\caffe\Temp\image.jpg;因為若不這樣表示,則反斜杠\將會當作普通字符,而非路徑的分隔符,可能與后面的字母對應上,發生了轉義字符的作用。

參考資料

正斜杠/和反斜杠\的區別 - 阿瑪尼迪迪 - 博客園

(2條消息) 正斜杠和反斜杠的區別-CSDN論壇


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM