C++特殊字符转义序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++特殊字符转义序列相关的知识,希望对你有一定的参考价值。

转义字符其实就是一个字符,用于表示一些特殊的字符和一些不可显示的字符。比如“\”它本身表示转义字符开始,如果要显示它的话就要使用“\\”。再比如换行符“\n”,它是个控制符不可显示,用于实现换行功能。
至于怎么使用,因为转义字符本来就是个字符,所以可以用在使用字符的任何地方,可以单个使用,也可以用在字符串中。
下面的代码输出A和B用8进制和16进制转义字符表示的形式,运行结果如图。
#include
<iostream>
using
namespace
std;
int
main()

cout
<<
"\101=\\101\t\102=\\102";
cout
<<
'\n';
cout
<<
"\x41=\\x41";
cout
<<
'\t';
cout
<<
"\x42=\\x42\n";
return
0;
参考技术A \b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\‘:单引号
\":双引号
\?:问号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL)

#yyds干货盘点#JavaScript - 字符串的转义


#yyds干货盘点#JavaScript

String数据类型包含着一些特殊的字符字面量,通常情况下,我们管这种字面量叫做转义序列,转义字符通常前面用\\进行开头,转义序列用来表示非传统的文本字符,用来表示具有特殊用途的字符。这些字符字面量如下表所示:

#yyds干货盘点#JavaScript

值得注意的一点是,如果“\\”字符位于没有在表中的字符前,则在最后解析会自动忽略“\\”,不过虽然可以利用这种写法,但是这种写法的危险就是未来 ECMAScript 可能会定义新的转义符。比如,“\\a”与“a”其实是相等的。

#yyds干货盘点#JavaScript

字符串的转义也可以出现在字符串的任意位置,虽然它的内容看起来很多,但是并不会以它的内容计算整个字符串的长度,而是以它的最终解析的内容来进行解析,例如:

#yyds干货盘点#JavaScript

这个例子中,我们可以看到变量text中一共包含了28个字符,其中最后的结尾是6个转义的字符长度,不过转义字符最终计算总长度时并不会计算它的原始长度,而是计算它的转义后长度,我们可以利用字符串的length属性来获取字符串长度,例如:

#yyds干货盘点#JavaScript

从结果中我们看到,text最后的长度为23,其中包含了22个非转义的字符,和1个经过转义的字符。不过如果字符串中包含双字节字符,那么length可能不会精确地返回字符串的字符数目。

以上是关于C++特殊字符转义序列的主要内容,如果未能解决你的问题,请参考以下文章

为啥html,xml的特殊符号转义不用斜杠,而要用& quot ;这样的奇怪形式?

转义字符_MySQL识别下面的转义序列

转义序列(反斜线)

正则表达式仅匹配未转义的特殊字符

java的转义字符

#yyds干货盘点#JavaScript - 字符串的转义