反斜线

印刷標記(字形)主要用於計算

反斜线反斜杠\,英语:Backslash),是一种主要用于编写计算机程序的专门符号[1]。其Unicode编号为U+005C,HTML中代码是\

\
反斜线
一般标点符号
撇号  '
括号 [ ]  ( )  { }  ⟨ ⟩  ( )
冒号 :
逗号  ,  ،  
顿号
连接号 ‒  –  —  ―    
破折号      ——
省略号  ...      
叹号  !
句号  .
书名号 ‹ ›  « »  《 》  ﹏ ︴
专名号 _  
连字号
连字暨减号 -
问号  ?
引号 ‘ ’  “ ”  ' '  " "  「 」『 』
分号 ;  
斜线 /    
着重号
示亡号  ‌
隐讳号 ×
分字符
间隔号 ·
空格     
一般排版符号
和号 &
星号 *
@ @
井号 #
数字符号
反斜线 \
等号 =
倒感叹号 ¡
倒问号 ¿
乘号 ×
除号 ÷
序数标识 º ª
百分号 %
千分号
万分号
加号减号 + −
正负号负正号 ± ∓
度数符号 °
角分符号    
段落符号  //  
竖线 |    ¦
分节符号 §
参考标记
项目符号
脱字符 ^
波浪号 ~
上横线
下横线 _
虚缺号
剑标 † ‡ ⹋
同上符号
知识产权符号
著作权符号 ©
copyleft
录音著作权符号英语Sound recording copyright symbol
注册商标符号 ®
服务商标
商标符号
货币
国际货币符号 ¤

؋฿¢英语Brazilian cruzeiro$֏ƒ英语Florin sign英语Philippine peso sign£英语Ruble sign英语Indian rupee sign 英语Shekel sign圓 圆 円 元 ¥

特殊排版符号
三星符号英语Asterism (typography)
花型英语Fleuron (typography)
标示号
疑问惊叹号
反讽号英语irony punctuation
菱形
延音线
相关符号
  • 空白字符
其他语言标点符号

注意:符号“/”称为斜线、斜线号、斜杠或前斜线,应予以区分。

历史

根据计算机科学家鲍勃·比默介绍称,反斜线是由他于1961年在IBM工作时首先引入ASCII码的[2]。在ALGOL中,“/\”和“\/”这种斜线加上反斜线的形式被用来分别表示“”和“”这两个布尔运算符[2]。这两种运算符在早期由UnixV6及V7和其后2.11BSD支持下的C语言中均有包括。

使用

程序语言

在许多程序语言,如C语言、PerlPHP和Unix脚本语言中,反斜线用来表示紧随其后的字符应被特殊处理,也就是转义字符。许多正则表达式语言都会将它视为字面意义和元字符之前的切换。例如\n换行\0空字符,它们表示的实际上都是一个字符(char)。

在某些程序语言的命令行中,例如在linux中,反斜线常被放在一行的末尾用来指示编译器忽略其后的换行符,使得下一行会被当做同一行语句。这种情况下,反斜线作为一个强制换行符,将代码拆解成“连续行”。GNU make手册中写道:“我们用反斜线来将过长的命令行拆分成两行;它通常在一句过长的命令行中使用,使其更容易阅读。”[3]

操作系统

MS-DOS 1.0版本最初在1981年发布时并不支持目录结构。当时大批由IBM开发的DOS工具都使用正斜线作为命令行参数的起始符号,例如“DIR /W”指令会以宽列表格式选项执行DIR命令。1983年,MS-DOS 2.0开发时引入了目录系统,并采用了与Unix相似的分层方式。然而Unix系统中用作路径分层的“/”在DOS上已被占用,为了与DOS 1.0保持兼容,微软的开发者们不得不选用了与其视觉上相近的“\”。[4]

Windows操作系统继承了MS-DOS的这一用法并且两种斜线的表示方法都可以被支持,用户如果输入了由正斜线表示的目录仍然可以跳转到正确的目录下。但是在个别的系统程序或应用中只接受反斜线的目录。[5]

希腊字母

在一些数学软件(如MATLAB)和维基百科上,可以使用反斜线输入希腊字母\pi会转成 \lambda会转成 

替代

在日文编码时,在日文版本的ISO 646(基于ASCII集成的7位编码标准)、JIS X 0201(8位编码标准)以及Shift JIS(兼容ASCII多位编码标准)中,ASCII里用来表示反斜线的码位0x5C被日元符号“¥”取代。而计算机程序在许多环境下仍然会将该编码视为反斜线,由此造成了很多混淆,尤其是在MS-DOS的文件名中[6]。由于这一现象的相当普遍,时至今日仍然有一些Unicode字体,例如日文黑体MS Mincho会将反斜线渲染成“¥”,所以在这些字体中Unicode字符00A5(¥)和005C(\)看起来是一样的。同样的,许多ISO 646其他语言版本也将“\”替换成了其他符号,如“₩”(韩文)、“Ö”(德文、瑞典文)、“Ø”(丹麦文、挪威文)、“ç”(法文)和“Ñ”(西班牙文),它们均会导致同样的问题。由于不是所有的字符集键盘布局上都包括反斜线,ANSI C标准支持将其转录成三字符组“??/”。RFC 1345则建议如果反斜线不可用则将其转录为“//”[7]

参考文献

  1. ^ 教育部语言文字信息管理司. G/\ BOT ..88888..翊2011 标点符号用法[S]. 北京:中国标准出版社,2011
  2. ^ 2.0 2.1 Bob Bemer. HOW ASCII GOT ITS BACKSLASH. Computer History Vignettes. [2014-06-08]. (原始内容存档于2013-01-11). 
  3. ^ GNU 'make' manual. Gnu.org. [2013-06-16]. (原始内容存档于2013-07-03). 
  4. ^ Why is the DOS path character "\"?. Blogs.msdn.com. 2005-06-24 [2013-06-16]. (原始内容存档于2010-03-30). 
  5. ^ Why Windows Uses Backslashes and Everything Else Uses Forward Slashes. howtogeek.com. [2014-06-08]. (原始内容存档于2014-07-03). 
  6. ^ When is a backslash not a backslash?. oreilly.com. [2014-06-25]. (原始内容存档于2016-03-04). 
  7. ^ RFC 1345. Tools.ietf.org. 1991-12-26 [2013-06-16]. (原始内容存档于2013-05-30).