反斜线或反斜杠(\,英语:Backslash),是一种主要用于编写计算机程序的专门符号[1]。其Unicode编号为U+005C,HTML中代码是\
。
\ | |
---|---|
反斜线 | |
注意:符号“/”称为斜线、斜线号、斜杠或前斜线,应予以区分。
历史
根据计算机科学家鲍勃·比默介绍称,反斜线是由他于1961年在IBM工作时首先引入ASCII码的[2]。在ALGOL中,“/\”和“\/”这种斜线加上反斜线的形式被用来分别表示“∧”和“∨”这两个布尔运算符[2]。这两种运算符在早期由UnixV6及V7和其后2.11BSD支持下的C语言中均有包括。
使用
在许多程序语言,如C语言、Perl、PHP和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]
在日文编码时,在日文版本的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]。
参考文献
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.