就远程和本地路径而言,正斜杠(/)和反斜杠(\)之间的主要区别是什么?
如果我没记错的话,反斜杠用于表示当前计算机或网络中的某些内容,例如C:\ Windows或\\ 172.12.1.34,而正斜杠用于表示当前计算机或网络中的外部或外部内容,例如作为http://www.google.com/。
我想知道这是否是一个准确的解释,或者差异是否真的比这个更深,我给出的例子只是巧合。
就远程和本地路径而言,正斜杠(/)和反斜杠(\)之间的主要区别是什么?
如果我没记错的话,反斜杠用于表示当前计算机或网络中的某些内容,例如C:\ Windows或\\ 172.12.1.34,而正斜杠用于表示当前计算机或网络中的外部或外部内容,例如作为http://www.google.com/。
我想知道这是否是一个准确的解释,或者差异是否真的比这个更深,我给出的例子只是巧合。
Answers:
Unix及其变体始终使用正斜杠(/)表示文件系统层次结构。
但是,Windows将其文件系统定界符反斜杠(\)归功于其MS-DOS的前身。而MS-DOS并不是其始创者。它是从QDOS操作系统(从CP / M借来的)中带来的,该操作系统是MS购买并重新制作为MS-DOS的。
由于大多数(如果不是全部)基于Web的协议起源于UNIX(HTTP,FTP等),因此Microsoft遵守这些分隔符以保持兼容性。
那不是一个准确的解释。路径分隔符只是一个字符,一个令牌,在某种程度上是任意的,但通常选择标记自然分隔。反斜杠作为路径分隔符来自CP / M,DOS和Windows世系。斜线来自Unix以及之前的其他系统。
Internet URL路径分隔符被选择为斜线,因为大多数标准开发人员都熟悉Unix。Unix斜杠作为路径分隔符通常被认为是规范分隔符。它在键盘上的位置也使大多数需要多次输入的人更容易输入。
甚至跨平台脚本语言(例如Python)也使用斜杠指定路径的“规范化形式”。
command
。
在实现级别,windows将以与'\'相同的方式处理'/'。我只会使用'/'。这将使您所有的应用程序都具有可移植性。MySQL和python还将“ /”转换为系统上所需的内容,具体取决于它们使用哪种路径分隔符。
'\'在其他区域(例如正则表达式)以及某些终端和编程语言中用作转义符。这样可以确保将其后的下一个字符解释为文字字符,例如行尾的\ n \ r。
至于关于内部或外部系统的表示法,实际上并非如此。* / nix系统在早期比较流行'/'。微软随后开始流行,现在人们所期望的是“ \”。但是正如我提到的,Microsoft必须符合posix(关于操作系统如何运行的posix标准),这意味着您可以在大多数地方用'/'替换所有的'\',并且所有东西都可以正常工作。