精华内容
下载资源
问答
  • 转义字符 反斜杠

    万次阅读 2015-11-17 11:14:35
    反斜杠(右斜杠),符号是""。    在Unix/Linux中,路径的分隔采用正斜杠"/",比如"/home/hutaow";而在Windows中,路径分隔采用反斜杠"",比如"C:WindowsSystem"。    有时我们会看到这样的路径写法...

    正斜杠(左斜杠),符号是"/";反斜杠(右斜杠),符号是""。

     
      在Unix/Linux中,路径的分隔采用正斜杠"/",比如"/home/hutaow";而在Windows中,路径分隔采用反斜杠"",比如"C:WindowsSystem"。
     
      有时我们会看到这样的路径写法,"C:\Windows\System",也就是用两个反斜杠来分隔路径,这种写法在网络应用或编程中经常看到,事实上,上面这个路径可以用"C:/Windows/System"来代替,不会出错。但是如果写成了"C:WindowsSystem",那就可能会出现各种奇怪的错误了。
      至于上述问题出现的原因,要从字符串解析这方面来分析。
      学过编程的人都应该知道,在C里面,输出字符串时,如果想输出一个换行,那就要加上'n'这个标志,类似的,输出一个TAB,就加上't',也就是说,反斜杠("")这个符号会把跟在它后面的字符结合起来转义成其它字符。根据这个原理,如果想输出双引号('"'),就需要输入'"',这样才会将包含了双引号的字符串正确的写入内存中。那么如果想输入一个反斜杠呢?很简单,只要敲'\'就可以了。
     
      看到这里或许有些人已经看出眉目了,如果"C:WindowsSystem"这个路径字符串交给C编译器编译,实际写入内存的字符串并没有包含反斜杠"",甚至紧跟在反斜杠后面的字母也一起被转义成了其它的字符,再次调用的话势必会出问题。
      字符串解析不仅仅局限于C编译器,Java编译器、一些配置文件的解析、Web服务器等等,都会遇到对字符串进行解析的这个问题,由于传统的Windows采用的是单个斜杠的路径分隔形式,导致在对文件路径进行解析的时候可能发生不必要的错误,所以就出现了用双反斜杠"\"分隔路径的形式。不管解析引擎是否将反斜杠解析成转义字符,最终在内存中得到的都是"",结果也就不会出问题了。
     
      由此也可以看出Windows或者说DOS在设计初期考虑不够周全,为了和Unix一些特征区别开来,将Unix中的正斜杠"/"分隔路径方式改变成了反斜杠""。这样改变导致的一个问题就是在早期DOS命令行中,正常的文件名是不能包含空格的,如果包含了空格,会导致输入这样的文件名时,命令解析无法将其和参数区分开。例如,想要进入"hutaow yuan"这个目录(在此先忽略8.3命名规则),直接输入"cd hutaow yuan",命令行会将其解析为进入"hutaow"目录,而后面的"yuan"做参数,这显然不是所期望的。
      而在Unix中,文件名如果包含空格,可以直接在空格前加上反斜杠""进行转义,从而很好的和命令参数区别出来(参数之间一般使用空格分隔)。还是上面的例子,在Unix中,只要输入"cd hutaow yuan"(在yuan前面的空格前加上""),命令行会正确的辨认出"hutaow yuan"并进入这个目录。
      当然,现在Windows的后续版本已经使用其它方法(比如文件名用双引号括住)解决了空格问题。
     
    /
    /
    C语言常用转义字符表

    转义字符

    含义

    ASCII码(16/10进制)

    o

    空字符(NULL)

    00H/0

    n

    换行符(LF)

    0AH/10

    r

    回车符(CR)

    0DH/13

    t

    水平制表符(HT)

    09H/9

    v

    垂直制表(VT)

    0B/11

    a

    响铃(BEL)

    07/7

    b

    退格符(BS)

    08H/8

    f

    换页符(FF)

    0CH/12

    单引号

    27H/39

    双引号

    22H/34

    \

    反斜杠

    5CH/92

    ?

    问号字符

    3F/63

    ddd

    任意字符

    三位八进制

    xhh

    任意字符

    二位十六进制

    字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。
       在C程序中使用转义字符 d d d或者 x h h可以方便灵活地表示任意字符。 d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。 x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。


    使用转义字符时需要注意以下问题:

    1)
     转义字符中只能使用小写字母,每个转义字符只能看作一个字符。

    2) v
     垂直制表和f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。

    3)
     在C程序中,使用不可打印字符时,通常用转义字符表示

    4)n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。
    5)t 光标向前移动四格或八格,可以在编译器里设置。
    6)' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。
    7)? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)。
    展开全文
  • Windows由于使用斜杠/作为DOS命令提示符的参数标志了,为了不混淆,所以采用反斜杠\作为路径分隔符。所以目前windows系统上的文件浏览器都是用反斜杠\作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也...

    Unix使用斜杠/作为路径分割符,而Web应用最先是使用在Unix系统上面,所以目前所有的网络地址都采用斜杠/作为分隔符。

    Windows由于使用斜杠/作为DOS命令提示符的参数标志了,为了不混淆,所以采用反斜杠\作为路径分隔符。所以目前windows系统上的文件浏览器都是用反斜杠\作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用得很少,斜杠和反斜杠在大多数情况下可以互换,没有影响。

    我在cmd.exe验证了一下:

     正斜杠:

    反斜杠:

     

    正斜杠:

    反斜杠:

     

    的确,现在在cmd中,已经不区分正斜杠和反斜杠了!

    知道这个背景后,可以总结一下结论:

    (1)浏览器地址栏网址使用 正斜杠/;

    (2)windows文件浏览器上使用 反斜杠\;

    (3)出现在htm url()属性中的路径,指定的路径是网络路径,所以必须使用 正斜杠/;

    1 <div style="background-image:url(/Image/Control/title.jpg); background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>
    2 // 如果url后面用反斜杠,就不会显示任何背景

    (4)出现在普通字符串的路径,如果代表的是windows文件路径,则使用 正斜杠/和 反斜杠\是一样的;如果代表的是网络文件路径,则必须使用 正斜杠/;

    1 <img src=".\Image/Control/ding.jpg" /> // 本地文件路径,/ 和 \ 是等效的
    2 <img src="./Image\Control\cai.jpg" />
    3 <img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> // 网络文件路径,一定要使用 斜杆/

     

    另外在编程中,常用反斜杠\加字符表示转义字符,如\0表示“空字符”\r表示“回车”,\n表示“换行”等。

    而"\\"则表示反斜杠\的转义字符,在编程中常用于表示反斜杠\不是普通的字符,而是路径的分隔符。如用一个字符串存储保存文件的路径时,路径为F:\caffe\Temp\image.jpg;则用字符串存储时,应该写为str=F:\\caffe\\Temp\\image.jpg;

    因为若不这样表示,则反斜杠\将会当作普通字符,而非路径的分隔符。

    展开全文
  • 关于反斜杠转义字符总有人问我,今天写一下,我拜读了几篇文章,如下链接,链接如下: https://blog.csdn.net/jinixin/article/details/56705284 https://www.cnblogs.com/miaoning/p/11450659.html 引用文章里的...

    关于反斜杠,转义字符总有人问我,今天写一下,我拜读了几篇文章,如下链接,链接如下:
    https://blog.csdn.net/jinixin/article/details/56705284
    https://www.cnblogs.com/miaoning/p/11450659.html

    引用文章里的话,首先一切问题或者误会,麻烦,烦恼的原因就是反斜杠在字符串里有转义的作用,在正则里有转义的作用,最关键都是以string形式工作。就乱套了
    所以我是这么理解的,我们写的正则表达式,我称之为表达式,这个表达式能够正则化,经历两个过程,或者说经历了两个计算机底层函数,首先是一个字符串函数,我们将表达式输入给字符串函数,字符串函数解释后生成字符串函数的返回值,这个返回值再作为正则函数的输入值,最终正则函数的产出最终结果。
    如果理解这个过程,再去理解反斜杠使用原理或者使用规则。如下:

    1.字符串转义

    反斜杠,在字符串里是转义字符的最重要的组成,这里不赘述,所以在一个字符串里,**反斜杠第一任务是转义,不是第一先代表它自己,如果一旦后面的字符能够形成转义字符,那它后面的字符就组成转义字符。如果我们要这种情况下,想表达一个反斜杠,需要在反斜杠后面再加一个反斜杠,进行再次转义,转成它自己本来的意思反斜杠!**每次这么写很麻烦我们可以在引号前面加一个r,也就是raw string,便可省略了这一个工作,因为一旦文本多了,你会很乱。实例如下图。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2 正则转义

    正则函数这边需要一个字符串返回值,这个返回值进行正则化,比如我们要展示数字,那需要可以写\d这个形式,对于正则函数来了说,需要一个反斜杠和字母d来进行正则转义,那需要的反斜杠需要字符串的返回值中含有,要想字符串返回值中含有反斜杠,在字符串函数里输入值中反斜杠要么前面再加一个反斜杠,将反斜杠第一命令转义 转换成反斜杠本身的意义,或者如上所述的字符串前面加一个r进行操作。

    具体分析讲解请看下面的图和图解。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • <p style="text-align:center"><img alt="" src="https://img-ask.csdnimg.cn/upload/1622369088718.jpg" /></p>  </p>
  • 今天在查询一个字段时显示一直显示为0,可是表里明明有对应的数值。 select count(1) as vote_your_count ...搜索了一会发现是转义字符的问题,换成如下即可。 select count(1) as vote_your_count from vote_beauty
    今天在查询一个字段时显示一直显示为0,可是表里明明有对应的数值。
    
    select count(1) as vote_your_count from vote_beauty where beauty_person = '\u5c0f\u859b'

    搜索了一会发现是转义字符的问题,换成如下即可。

    select count(1) as vote_your_count from vote_beauty where beauty_person = '\\u5c0f\\u859b'

     

    展开全文
  • JS转义字符汇总 斜杠“/”无需转义

    千次阅读 2019-04-11 13:30:18
    转义序列 字符 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平制表符 \’ 单引号 \" 双引号 \& &(and)符号 \\ 反斜杠
  • C语言转义字符(反斜杠t篇)

    千次阅读 2019-09-20 17:25:22
    #include<stdio.h> int main() { //printf("反斜杠n:回车换行符\n"); printf("反斜杠t:横向跳格\n");... printf("请看下面的转义字符演示\n");//第一行 printf("123\t456\n");//第二行 ...
  • 一不小心输入了反斜杠 \如下图所示:输入 chn\ 的时候,在 IE8 下弹出一个js错误。(在实际的项目的表单元素中遇到了,单独这样拿出来测试的时候又不弹出错误。也很是焦灼)索性就写了个办法暂时解决了这个问题。也...
  • 转义字符,俗称反斜杠"\"+啥啥啥,在许多的编程语言中都被广泛使用。转义,也就是伪装,让你眼见不为实。在编程中,转义字符用于实现特定的功能,以下给出常见的转义字符和所对应的意义: 就这?(可能有的小伙伴...
  • sql 转义字符反斜杠问题)

    千次阅读 2013-10-25 14:52:25
    关于sql中的转义字符,记录一下:  实验环境: mySql  where xxx = '检索条件' -&gt; 默认特殊字符: ' \ (单引号,反斜杠)  where xxx like '检索条件' -&gt; 默认特殊字符: ' \ _ % (单引号,...
  • 替换字符串K90wuRcDX43cqDB7xkjReuzb\/nDaC0xc7Bqxi4Ft0T6...如果我手动转义字符串中的反斜杠,我没有问题NSString *mytoken = @"K90wuRcDX43cqDB7xkjReuzb\\/nDaC0xc7Bqxi4Ft0T6EscKzEBXBJ6k8fFLl6j0S";NSLog(@"...
  • java正则表达式转义反斜杠

    千次阅读 2018-04-12 23:55:27
    在其他语言中,\ 表示:我想要在正则表达式...所以,在其他的语言中(如Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理...
  • 慕桂英3389331(请参阅答案末尾的ES2015更新。)您已经标记的问题都string和regex...这个字符串以一个反斜杠开头,你在文字中看到的第一个是一个转义字符,告诉我们按字面意思取下一个字符:varstr="\\Ihaveonebacksl...
  • 反斜杠 backslash在windows系统中用来表示目录。而在unix系统中,/ 表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。UNIX 操作系统设计了这种路径分隔法,它使用斜杠:/。由于网络是首先应用在 UNIX...
  • 反斜杠搭配的一些特殊字符称为转义字符转义字符可以表示特殊的意义,或者表示不容易表示的字符。 比如说我们想定义一个带有双引号的字符串 s="abc"; s="abc" 这样s输出是没有双引号的。 s=" "abc" " 这样连...
  • php中的转义字符(用反斜杠\来输出,和C语言一样) 一、总结 1、引号中的变量:双引号会替换变量的值,而单引号会把它当做字符串输出。 2、引号中的转义字符:双引号将用变量的值(test)代替它的名称($var),...
  • 在字符常量中,反斜杠(\)是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符。下面是一些常见的转义字符: \r表示回车符,将光标定位到当前行的开头,不会跳到下一行。 \n表示换行符,换到下一...
  • 转义字符是C语言中表示字符的一种特殊形式。...转义字符反斜杠\后面跟一个字符或一个八进制或十六进制数表示。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换...
  • ... <p>Example: <pre><code>\\SERVER\folder1\folder2\folder3\file.dtsx </code></pre> ...<p>To complicate things further, this path would need to run as part of a command wrapped in another set of ...
  • 反斜杠转义字符不转义解决方法

    千次阅读 2017-05-17 21:46:21
    将Sqlite数据库里的东西搬到MySQL里,可Sqlite数据库里有好多路径信息,在编程时就遇到了问题,读到的路径信息里因为只存在一个"\"导致系统直接把“‘\’”与后面连的一个字符和在一起当成一个转义字符,所以路径...
  • String string = StringEscapeUtils.unescapeJava(new Gson().toJson(bean)); StringEscapeUtils.unescapeJava() String 工具类里有这个方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,129
精华内容 1,651
关键字:

转义字符反斜杠