斜线与反斜线

1.斜线反斜线辨识。按照手写英文字母倾斜方向,右上到左下为斜线/ forwardslash,一般用在文本相关场合,比如路径;倾斜方向与手写倾斜方向相反的为反斜线\ backslash,一般用在编程表示转义符。
2.关于目录间的间隔符用正斜线(/)或则反斜线(\)的问题。
1)在UNIX环境下,目录中的间隔符是正斜线/。就是英语中常用的斜线。
2)在Windows平台上,目录中的间隔符用正斜线/和反斜线\都可以,考虑可移植性,则使用正斜线。
反斜线在自然语言中一般不出现,除了在程序中一般不出现。win使用反斜线是继承了DOS的传统,DOS中正斜线用于表示参数,unix中使用-或者--表示参数。后期的win系统支持使用正斜线或者反斜线表示路径,软件上cmd只支持反斜线,而powershell支持两者。
3)在java程序里,目录中的间隔符可以是正斜线/。反斜线\表示转义字符,所以如果需要在Java程序里用到Windows平台上的反斜线\作为目录间隔符,必须是双反斜线\\。即:目录间隔符要么是斜线/,要么是双反斜线\\。
4).//双正斜线。
a.与 冒号)同时使用,用于分隔 URL的协议(例如 httpftp)和URL中的主机名称。例如 http://www.baidu.com/1111/222/11/2/
虽然是约定俗成,但也有意义,单正斜线/用于表示根目录,容易与本地混淆。
b.用于注释

总结,一般路径跟web资源全部使用斜线,网络传输协议与路径地址需要使用双斜线进行间隔。
windows平台下比较特殊,由于历史原因,路径使用反斜线,但是也逐渐支持使用斜线,向unix靠拢。

3.反斜线 \ 的转义符使用
变化比较多的是反斜线,反斜线在C里面(以及大部分编程语言)属于转义符,也就是其后的字符将有不同意义,一般是使得特殊字符恢复其原有含义,比如\n表示回车,再比如
在perl里面$x表示一个变量,而\$x就不是变量了。至于\\就是将后面的\转义了,此时后面的\就不是转义符了,而是\字符本身,例如:
printf("\\n");
打印出来的就是\n,而不是一个回车。
\转义引号的地方很多,主要是要在字符串里包含引号,比如:
printf("hello \"world\"\n");
 
例子:现在在servlet程序中想获取一个test.doc文件(在当前WEB应用的根目录下/WEB-INF/files文件夹里)的输出流:
当然了,这里也可以是
要么是
  
打印fileName,可得E:\apache-tomcat-8.0.37\webapps\20161028-FileUpLoad\WEB-INF\files\test.doc。
然后向outputStream里write,进入E:\apache-tomcat-8.0.37\webapps\20161028-FileUpLoad\WEB-INF\files目录,会看到确实多了一个文件:test.doc。
同时,这也意味着:通过getRealPath获取当前WEB应用的某一个文件在服务器上的绝对路径(部署后的路径,而不是部署前的路径)。

### 关于反斜线赋值的用法及其错误解决 #### 1. Python中的反斜线 `\` 的作用 在Python中,反斜线`\`通常作为续行符使用。它允许将一条较长的语句拆分成多行书写,从而提高代码可读性。例如: ```python long_string = "This is a very long string that needs to be split \ over multiple lines for better readability." print(long_string) ``` 上述代码会正常运行并打印完整的字符串[^1]。 #### 2. 字符串插值中的反斜杠 `\\` 在SwiftUI中,反斜杠被用来实现字符串插值功能。当需要插入变量或表达式的值时,可以使用反斜杠包裹大括号的形式来完成这一操作。例如: ```swift let name = "John" let greeting = "Hello, \(name)" print(greeting) // 输出 Hello, John ``` 这里的反斜杠并非用于赋值,而是帮助解析器识别特殊语法结构[^2]。 #### 3. PHP中的自动转义机制解决方案 PHP中有magic_quotes_gpc这样的配置项,默认会在输入数据中的某些字符前加上额外的反斜杠以防止SQL注入攻击等问题的发生。然而这种方式也可能带来不必要的麻烦——比如双重转义现象。针对这种情况,可以通过关闭该特性或者手动处理传入的数据来进行调整: - 方法一:修改php.ini文件设置 `magic_quotes_gpc=Off`; - 方法二:编写自定义函数去除多余的反斜杠: ```php function stripslashes_deep($value){ $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } // 使用示例 $data = addslashes("O'Reilly"); $cleanData = stripslashes_deep($data); echo $cleanData; // 正确显示 O'Reilly ``` 此部分描述了如何应对由magic_quotes_gpc引发的相关问题[^3]。 #### 4. Shell Script里的Read命令应用 Shell脚本环境中,read指令可以从标准输入流获取用户键入的内容并将之存储至指定变量之中。其基本形式如下所示: ```bash #!/bin/bash echo -n "Enter your name: " read username echo "Your name is $username" ``` 另外,在批量处理文本文件记录的时候,经常配合while循环一起运用: ```bash #!/bin/bash filename="names.txt" while read line ; do echo "$line" done <"$filename" ``` 以上展示了利用read进行简单交互以及复杂场景下的实际案例[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值