转义字符(Escape character)

简介: 转义字符(Escape character)

前言

一、转义字符的概念

二、转义字符表

三、转义字符作用

四、详解转义字符

1、\0:空字符

2、\n:换行符

3、\r:回车符

4、\t:水平制表符

5、\v:垂直制表符

6、\a:响铃

7、\f:换页符

8、\b:退格符

9、\:反斜杠

10、?:问号

11、':单引号

12、 ":双引号

五、试题演练

一、转义字符的概念

1、转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。

2、转义序列通常有两种功能。第一个是编码一个句法上的实体,如设备命令或者无法被字母表直接表示的特殊数据。第二种功能,也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符),或者在当前上下文中会有不期望的含义的字符(如C语言字符串中的双引号字符",不能直接出现,必须用转义序列表示)。在后面那种情况,转义序列是一种由转义字符自身和一个被引用的字符组成的一个二合字母(digraph)情形。

3、简而言之,转义字符就是以‘\’为开头的字符,后面跟一个或几个字符,其意思是将反斜杠‘\’后面的字符转变成为另外的意义。

二、转义字符表

注意:

1、斜杠:“/” 与 反斜杠:“” ,此处不可互换

2、\xhh 十六进制转义不限制字符个数 ‘\x000000000000F’ == '\xF

三、转义字符作用

1、表示特殊字符:某些字符在字符串中具有特殊的含义,例如双引号(")或反斜杠()本身。通过使用转义字符,可以在字符串中表示这些特殊字符,而不会与编程语言的语法冲突。

2、表示不可见字符:某个字符在文本中是不常见的,如换行符(\n),制表符(\t),回车符(\r)。通过使用转义字符,可以在字符串中表示这些不常见字符,从而实现特定的文本格式或布局。

3、表示特殊操作:转义字符还可以用于表示特定的操作,如在正则表达式中使用转义字符表示特殊的匹配模式,或在命令行中使用转义字符执行特点的命令或操作。

四、详解转义字符

1、\0:空字符

空字符即NUL字节,ASCII值为0,在程序代码中通常以转义序列’\0’表示,在C语言中,空字符非常重要,主要体现在字符串中,是字符串结束的标志。

1、printf("hello world!\n");

输出结果为:

1、hello world!
2、

系统自动在最后一个字符’\n’的后面加上一个’\0’,作为字符串结束的标志。而在执行printf函数时,每输出一个字符检查一次当前字符是否为’\0’,如果是’\0’就会停止输出。

2、\n:换行符

回车换行。将当前位置移到下一行的开头,ASCII值为10。

1、printf("hello world!\n");

输入结果为:

1、hello world!
2、

系统在输出"hello world!"之后,遇到‘\n’会自动进行换行;

3、\r:回车符

将光标移动到这一行的开头。注意只是移动,没有删除任何东西,如果移动之后再添加新的内容会自动覆盖后面的内容,ASCII值为13。

1、printf("hello world!\r");

输出结果为:

1、hello world!

此时的光标在在开头的位置,如果’\r’后面还有内容,则会被覆盖掉;

1、printf("hello world!\rworld");

'\r’后面还有"world",因为光标在开头,所以此时的"hello"会被覆盖掉,所以此时的输出为:

1、world world!

4、\t:水平制表符

空格的集合体,一般情况下,一个tab键相当于8个空格,ASCII值为9。

1、printf("hello world! \t hello world!");

输出结果为:

1、hello world!     hello world!

5、\v:垂直制表符

让‘\v’后面的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列,ASCII值为11。

1、printf("hello world! \v hello world!\n");

输出结果为:

1、hello world! 
2、              hello world!

6、\a:响铃

响铃,ASCII值为7。

7、\f:换页符

先清空再进行输出,和\v很相似ASCII为12。

1、printf("hello world! \f hello world!");

输出结果为:

1、hello world! 
2、              hello world!

8、\b:退格符

删除上一个字符,ASCII为8。

1、printf("hello world!\b k");

输出结果为:

1、hello world k

9、\:反斜杠

输出反斜杠,ASCII为92。

1、printf("\\");

输出结果为:

1、\

10、?:问号

输出问号,ASCII码值为63。

1、printf("\?");

输出结果为:

1、?

11、':单引号

输出单引号,ASCII为39。

1、 printf("\'");

输出结果为:

1、'

12、 ":双引号

输出双引号,ASCII为34。

1、 printf("\"");

输出结果为:

1、"

五、试题演练

1、

解析:

字符共有6个,其中‘\b’为退格符,‘‘’为单引号字符,’\'为\字符,‘\n’为回车换行符

所以输出结果为:re’hi’you

2、

解析:

A:均合法

B:‘\1011’的\后面多余3位八进制是非法的,‘\’是非法的,‘\ab’的\后面少了x是非法的

C:‘\是非法的

D:‘\abc’是非法的,‘xlf’的前面缺少

3、

解析:

‘\0X41’、‘\0x41’、‘\x41’、‘\c’均错误

所以错误为4个

总结

今天的分享就到这里了,希望和大家一起进步,加油!

目录
相关文章
|
7月前
|
存储 自然语言处理
ascii与unicode
ASCII是1963年发布的字符编码系统,包含128个字符,主要适用于英语。Unicode是更广泛的编码标准,旨在统一全球文字编码,提供超过100万个字符的码点。UTF-8、UTF-16和UTF-32是Unicode的实现方式,其中UTF-8因与ASCII兼容而在互联网上广泛应用。UTF-16使用2或4字节,UTF-32则固定为4字节编码。ASCII满足基本需求,而Unicode解决了多语言编码挑战。
71 8
|
5月前
|
Python
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
51 0
|
6月前
|
Python
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
在Python调试中遇到的两种编码错误:1) "Cannot decode using encoding 'ascii'",此错误发生在处理含有非ASCII字节的字符串时;2) "SyntaxError: Non-ASCII character",当程序文件含中文且未声明编码。解决方法是在脚本开头添加 "# -*- coding: utf-8 -*-" 或 "#coding=UTF-8",告知Python使用UTF-8解析,确保文件实际也以UTF-8编码保存。
58 0
|
7月前
|
程序员
转义字符及Ascii表
转义字符及Ascii表
294 0
|
7月前
|
关系型数据库 MySQL Java
PowerShell【实例 01】-replace替换字符串及特殊字符处理(括号+百分号%)及utf8bom格式问题处理
PowerShell【实例 01】-replace替换字符串及特殊字符处理(括号+百分号%)及utf8bom格式问题处理
203 0
[oeasy]python0051_ 转义_escape_字符_character_单引号_双引号_反引号_ 退格键
[oeasy]python0051_ 转义_escape_字符_character_单引号_双引号_反引号_ 退格键
115 0
[oeasy]python0051_ 转义_escape_字符_character_单引号_双引号_反引号_ 退格键
|
C语言 Python
[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence
[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence
143 0
[oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence
|
网络安全
Bad escape character ‘ygen‘
Bad escape character ‘ygen‘
Bad escape character ‘ygen‘
|
存储 Unix Shell
ASCII 中的控制字符
Function/Control Code/Character in ASCII Version: 2011-02-15 Author: green-waste (at) 163.com 【什么是 Function Code 功能码或  Function Character 功能字符】 ASCII 字符集,大家都知道吧,最基本的包含了 128 个字符。
1854 0