注意, / / / 为正斜杠(forward slash),而 \ \backslash \ 为反斜杠(backward slash)。

1. 正斜杠 / / /

斜线是斜线标点符号 / / /。曾经用于标记句点和逗号的斜线,现在用于表示独占或非独占或、除法和分数,并用作日期分隔符。它在Unicode中称为 solidus,也称为斜笔画,并且还有其他几个历史或技术名称,包括 oblique 和 virgule。

由于广泛使用 Microsoft 的 DOS和 Windows 操作系统,因此创造了诸如“正斜杠”之类的澄清术语,这些操作系统广泛使用反斜杠。

正斜杠是一种常见的标点符号,特别是在不太正式的写作中。它通常被用来代替“或者”或当提出一系列的选项时使用。

  • 常用的用法
  1. 书写分数或者作为除号(比方说3/5就是五分之三);
  2. 书写日期时(比方说21/04/1986就是1986年4月21日);
  3. 在单位里表达“每”(比方说10 m/s表示每秒十米);
  4. 在某些缩写表达里(比方说c/o就是在乎,n/a就是不适用);
  5. 把写在一行上的诗分开,作用相当于回车:
    To separate lines of poetry when written on a single line (e.g. And both that morning equally lay/In leaves no step had trodden black);
  6. 书写网址时会用到(e.g. https://xxxxx.com.au/);
  7. 正斜杠一般作为间隔符号使用,主要用于间隔使用;
  8. 越来越多的人会使用“/”作为“或”的意思

2. 反斜杠 \ \backslash \

反斜杠是一个排印标记(也就是说,你可以在电脑上输入的东西)。反斜杠主要用于计算和数学的印刷标记。它是普通斜线 / / / 的镜像。这是一个相对较新的标记,最早记录于 1930 年代。然而,它不是一个标点符号,你通常只会在计算中看到它。具体来说,反斜杠主要用于编程语言和 Windows 计算机上的文件目录。因此,除非你写的是关于计算机的文章,否则你是不应该经常使用这个符号。

  • 历史

截至 2021 年 11 月,在 1960 年代之前确定该符号的起源或其用途的努力尚未成功。迄今为止发现的最早的已知参考资料是Teletype Corporation的 1937 年维护手册,其中一张照片显示了使用惠斯通系统的Kleinschmidt 键盘穿孔器 WPE-3 的键盘。该符号被称为“对角键”,并给出了(非标准)摩尔斯电码 ▄ ▄▄▄ ▄ ▄ ▄▄▄ 。(这是斜线符号的代码,向后输入。)

1930 年代的 Teletype Wheatstone Perforator 键盘,第三行末尾带有反斜杠:

1960 年 6 月,IBM发布了“扩展字符集标准”,其中包含 0x19 处的符号。1961 年 9 月,Bob Bemer (IBM) 向 X3.2 标准委员会提议,并将其作为提议标准的一部分,将反斜杠描述为“反向除法运算符”,并引用 Teletype 先前在电信中的使用。他说,特别需要 \ \backslash \ 以便 ALGOL 布尔运算符(逻辑合取)和(逻辑析取)可以使用 / \ /\backslash /\ \ / \backslash/ \/ 分别组成 ∧ \land ∨ \lor 。委员会在 1961 年 11 月的会议上将这些更改纳入了美国标准草案(后来称为ASCII)。

下图为1966 年 6 月 14 日之前使用 ASCII 字符集的 Teletype ASR-33 键盘布局,shift+L 上带有反斜杠:

也就是说反斜杠“\”是电脑出现了之后为了表示程序设计里的特殊含义才发明的专用标点。除了程序设计领域外,任何地方你都不应该有使用反斜杠的时候,请永远使用正斜杠“ / / /”。

  • 常用用法

编程语言(转义符)

在许多编程语言(如C、Perl、PHP、Python、Unix脚本语言和许多文件格式(如JSON)中,反斜杠用作转义字符,表示应特殊处理后面的字符(如果否则正常处理),或正常处理(如果否则将被特殊处理)。例如,在 C字符串文字中,序列\n生成换行字节而不是“n”,并且序列"产生一个实际的双引号,而不是结束字符串的双引号的特殊含义。实际的反斜杠由双反斜杠产生\。

我们在学习C语言的过程中应该都知道,我们在字符串中使用反斜杠来表示一些其他的符号,比如 \b 表示退格键, \n 为经典的换行键。

正则表达式语言以相同的方式使用它,将后续文字字符更改为元字符,反之亦然。例如||b搜索任何一个 ‘|’ or ‘b’,第一个 bar 被转义和搜索,第二个不被转义并充当“或”。

在带引号的字符串之外,反斜杠的唯一常见用途是忽略(“转义”)紧随其后的换行符。在这种情况下,它可以被称为“续行” ,因为当前行继续到下一行。一些软件将反斜杠+换行符替换为空格。

在Visual Basic(和一些其他BASIC方言)中,反斜杠用作表示整数 除法的运算符符号。这向零舍入。

在PHP 5.3 及更高版本中,反斜杠用于表示命名空间。

在Haskell中,反斜杠用于引入特殊字符和引入lambda 函数(因为它是希腊字母lambda, λ 的 ASCII 中的合理近似值)。

在python中对于斜杠的处理和C语言是一样的:

print('I can\'t !')
I can't !

文件名

1983 年发布的 MS-DOS 2.0 从Unix复制了分层文件系统,因此使用(正向)斜杠作为目录分隔符。可能在 IBM 的坚持下,Microsoft 添加了反斜杠以允许在命令行解释器提示符下键入路径,同时保持与 MS-DOS 1.0 的兼容性(其中/是命令行选项指示符。键入“ DIR/W ”为“ DIR ”命令提供了“宽”选项,因此如果真的想在名为DIR的目录中运行名为W的程序,则需要其他一些方法。COMMAND.COM除外, 操作系统的所有其他部分都接受path中的两个字符,但 Microsoft 约定仍然使用反斜杠,返回路径的API使用反斜杠。在某些版本中,可以通过SWITCHAR将选项字符从/更改为-,这允许 COMMAND.COM在命令名称 中保留/ 。

Microsoft Windows系列操作系统继承了 MS-DOS的行为,因此仍然支持这两个字符 - 但个别 Windows 程序和子系统可能错误地只接受反斜杠作为路径分隔符,或者可能误解正斜杠,如果它是照此使用。如果路径放在双引号中,某些程序将只接受正斜杠。Microsoft 的安全功能未能识别本地和 Internet 路径中的意外方向斜杠,而操作系统的其他部分仍然对其进行操作,这导致了一些严重的安全漏洞。不应使用的资源已通过使用特定组合的路径访问,例如http://example.net/secure\private.aspx。

文本标记

反斜杠在TeX 排版系统和RTF文件中用于开始标记标签。

在USFM 中,反斜杠用于标记编辑圣经翻译的格式特征。

在插入符号中,^\表示控制字符 0x1C,文件分隔符。这完全是巧合,与它在文件路径中的使用无关。

数学

一个类似反斜杠的符号用于设置差异。

反斜杠有时也用于表示右陪集空间。

尤其是在描述计算机算法时,通常会定义反斜杠,使a \ b等价于⌊ a / b ⌋。这是向下舍入的整数除法,而不是向零舍入。在Wolfram Mathematica中,反斜杠以这种方式用于整数除法。

在MATLAB和GNU Octave中,反斜杠用于左矩阵除法,而(正)斜杠用于右矩阵除法。

反斜杠\,表示求差集,即从集合S中去掉集合{x},比如S={1,2,3,4,5},{x}={4},则S{x}={1,2,3,5}。

3. 正斜杠与反斜杠的区别

/ / / \ \backslash \ 的区别为:用途不同、系统不同、网址不同。

  • 用途不同
  1. \ \backslash \ \ \backslash \ 只能用来表示目录;
  2. / / / / / / 既能作为除法符号或者间隔符号使用,也能用来表示目录。
  • 系统不同
  1. \ \backslash \ \ \backslash \ 用作目录时,适用于windows系统;
  2. / / / / / / 用作目录时,适用于unix系统。
  • 网址不同
  1. \ \backslash \ \ \backslash \ 不能用于网址(URL)中。

  2. / / / :在网址(URL)中, / / / 可作为请求目录。如果代表的是网络文件路径,则必须使用正斜杆

<img src=".\Image/Control/ding.jpg" /> // 本地文件路径,/ 和 \ 是等效的
<img src="./Image\Control\cai.jpg" />
<img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> // 

4. 注意

在程序中,有时我们会看到这样的路径写法,“D:\Driver\Lan” 也就是两个反斜杠来分隔路径。事实上,上面这个路径可以用 “D:/Driver/Lan” 来代替,不会出错,写成了"D:\Driver\Lan"就可能会出现错误。

至于出现错误的原因,还要从字符串解析这方面来分析。学过编程的人都知道,在C里面,输入字符串时,如果想输入一个换行,那就要加上’\n’这个标志,输出一个TAB 就要加上 ‘\t’,反斜杠(‘’)这个符号会把跟在它后面的字符串结合起来转义成其它字符。

根据这个原理,如果想输出双引号(’ " ‘)就要输入’ " ‘,才能将包含了双引号的字符正确的写入到内存中。要想输入一个反斜杠的话,只有敲’ \ '了,这就是前面为什么会用两个反斜杠来分隔路径的原因。


  • 参考资料:

斜杠"/“与反斜杠”"有什么区别?

“/” 和 “\” 有什么区别?英语千万别读成“gang”……

“\”与“/”斜杠与反斜杠的区别

斜杠(/)、反斜杠()、双反斜杠(\)区别简要辨析

百度百科: 斜杠

“/”“\”这两个哪个是斜杠,哪个是反斜杠啊?在命令中怎么用的,什么意思。

wiki: slash

wiki: backslash

路径中 斜杠/和反斜杠\ 的区别

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐