码迷,mamicode.com
首页 > 其他好文 > 详细

//与/与\与\\

时间:2019-04-23 22:42:13      阅读:485      评论:0      收藏:0      [点我收藏+]

标签:lin   它的   历史   传输   process   图片   部署   处理   文件路径   

1、作为盘符路径分隔符

①在windows操作系统中,文件路径的分隔符是反斜杠(“\”)

例如: D:\red\ant(写成两个反斜杠的目的就是为了防止转义)
②在linux操作系统中,文件的分隔符是斜杠(“/”)
,例如:/opt/red/ant(这种路径在windows下也是识别的,因此作为通用表示方式。但是也存在一个弊端:就是文件夹命名的空格问题,windows用这种方式不识别。)

技术图片

像这种带有空格的盘符,“/”在windows下就无法表示,只能避免。
③由于web遵循unix命名,所以在网址(URL)中,/表示目录。
【日常的开发中考虑其安全性,大部分把web应用都部署在linux环境中。我们可以直接使用File.separator去让JVM自动的选择斜杠还是反斜杠,但是排查问题就免不了使用正反斜杠了】

2、网络协议

④//一般用于网络协议中,比如最常用的HTTP://就是超文本传输协议,//一般都用协议名+冒号+//表示,如FTP:// MMS://等等。
⑤\一般用于局域网中计算机之间的互访,也就是说它后面加一个IP或者机器名,可以访问另一台机器的共享文件。

3、转义

⑥所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。
而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思。

技术图片

【图片来自百度百科】

4、执行参数

⑦windows 用反斜杠(“\”)的历史来自 DOS,而 DOS 的另一个传统是用斜杠(“/”)表示命令行参数。
例如:
  cd %SystemDrive%
  dir /s /b shell32.dll
【既然 DOS 这边斜杠被占用了,只好找一个最接近的。那就是它了。而在 UNIX 环境中,我们用减号(“-”)和双减号(“--”)表示命令行参数。】
Windows 内核在处理路径时确实可以同时支持斜杠和反斜杠。很多时候我们看到用斜杠时出错,是因为应用程序层面的原因。比如 cmd.exe 就不支持用斜杠表示路径,而PowerShell.exe 支持,也正因为这个原因,PowerShell 开始转而使用减号作为命令行参数的起始符。

5、java与正则

⑧Java语言中,斜杠“/”没有特殊含义,一个斜杠“/”只是表示字符‘/‘,两个“//”表示注释标记。
⑨java语言中反斜杠“\”表示它和紧跟着它的那个字符构成转义字符(前面第三条提到的转义)。
⑩正则表达式中解析器现将"\\"视为转义字符转为"\",接着再次转换将"\\"转为"\"(现在才是字符,之前是转义字符)。因此表示"\\",在正则中需要"\\\\\\\\"。【没想到这里也转义了,因此我写的时候敲了16个】

//与/与\与\\

标签:lin   它的   历史   传输   process   图片   部署   处理   文件路径   

原文地址:https://blog.51cto.com/13479739/2383560

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!