ASCII 功能字符 控制字符

江苏十一选五开奖直播:ASCII字符集中的功能码/控制字符

2019-03-14
44次浏览

粤11选五开奖直播 www.ptp5c.cn

【什么是Function Code功能码或Function Character功能字符】

ASCII字符集,大家都知道吧,最基本的包含了128个字符。其中前32个,0-31,即0x00-0x1F,都是不可见字符。这些字符,就叫做控制字符。

这些字符没法打印出来,但是每个字符,都对应着一个特殊的控制功能的字符,简称功能字符或功能码Function Code。

简言之:ASCII中前32个字符,统称为Function Code功能字符。

此外,由于ASCII中的127对应的是Delete,也是不可见的,所以,此处根据笔者的理解,也可以归为Function Code。

此类字符,对应不同的“功能”,起到一定的“控制作用”,所以,称为控制字符。

关于每个控制字符的控制功能缩写,参见下表:


表格1ASCII中的控制字符


进制

十六

进制

控制

字符

转义

字符*

说明

Ctrl +

下列字母*

0

00

NUL

/0

Null character(空字符)

@ (Shift + 2)

1

01

SOH


Start of Header(标题开始)

A

2

02

STX


Start of Text(正文开始)

B

3

03

ETX


End of Text(正文结束)

C

4

04

EOT


End of Transmission(传输结束)

D

5

05

ENQ


Enquiry(请求)

E

6

06

ACK


Acknowledgment(收到通知/响应)

F

7

07

BEL

/a

Bell(响铃)

G

8

08

BS

/b

Backspace(退格)

H

9

09

HT

/t

Horizontal Tab(水平制表符)

I

10

0A

LF

/n

Line feed(换行键)

J

11

0B

VT

/v

Vertical Tab(垂直制表符)

K

12

0C

FF

/f

Form feed(换页键)

L

13

0D

CR

/r

Carriage return(回车键)

M

14

0E

SO


Shift Out(不用切换)

N

15

0F

SI


Shift In(启用切换)

O

16

10

DLE


Data Link Escape(数据链路转义)

P

17

11

DC1


Device Control 1(设备控制1) /XON(Transmit On)

Q

18

12

DC2


Device Control 2(设备控制2)

R

19

13

DC3


Device Control 3(设备控制3) /XOFF(Transmit Off)

S

20

14

DC4


Device Control 4(设备控制4)

T

21

15

NAK


Negative Acknowledgement(拒绝接收/无响应)

U

22

16

SYN


Synchronous Idle(同步空闲)

V

23

17

ETB


End of Trans the Block(传输块结束)

W

24

18

CAN


Cancel(取消)

X

25

19

EM


End of Medium(已到介质末端/介质存储已满)

Y

26

1A

SUB


Substitute(替补/替换)

Z

27

1B

ESC

/e

Escape(溢出/逃离/取消)

[

28

1C

FS


File Separator(文件分割符)

/

29

1D

GS


Group Separator(分组符)

]

30

1E

RS


Record Separator(记录分隔符)

^ (Shit + 6)

31

1F

US


Unit Separator(单元分隔符)

_ (Shift + -)

32

20

SP


White space

[Space] *

127

7F

DEL


Delete(删除)

[Delete] *




注(*):

1.转义字符:即在C语言中或其他地方如何表示。

2.用键盘输入控制字符:其中,32是空格键,127是Delete键,都不需要加Ctrl键,即可直接输入。

3.可以通过“Ctrl+对应按键”实现上述控制字符的输入,你可能遇到的一些,比如:用Ctrl+V输入SYNC,Ctrl+M输入Enter(当然也可以直接用Enter键,但是在Windows下面,其可能会发送两个字符:CR和LF),Ctrl+Q输入XON,Ctrl+S输入XOFF等等。



其具体每个控制字符的含义,详解介绍如下:

【ASCII中的Function/Control Code功能字符的详细含义】


0 – NUL –NULl字符/空字符

ASCII字符集中的空字符,NULL,起初本意可以看作为NOP(中文意为空操作,就是啥都不做的意思),此位置可以忽略一个字符。

之所以有这个空字符,主要是用于计算机早期的记录信息的纸带,此处留个NUL字符,意思是先占这个位置,以待后用,比如你哪天想起来了,在这个位置在放一个别的啥字符之类的。

后来呢,NUL字符被用于C语言中,字符串的终结符,当一个字符串中间出现NUL / NULL,代码里面表现为/0,的时候,就意味着这个是一个字符串的结尾了。这样就方便按照自己需求去定义字符串,多长都行,当然只要你内存放得下,然后最后加一个/0,即空字符,意思是当前字符串到此结束。


1 – SOH –StartOfHeading标题开始

如果信息沟通交流主要以命令和消息的形式的话,SOH就可以用于标记每个消息的开始。

1963年,最开始ASCII标准中,把此字符定义为Start of Message,后来又改为现在的Start Of Heading。

现在,这个SOH常见于主从(master-slave)模式的RS232的通信中,一个主设备,以SOH开头,和从设备进行通信。这样方便从设备在数据传输出现错误的时候,在下一次通信之前,去实现重新同步(resynchronize)。如果没有一个清晰的类似于SOH这样的标记,去标记每个命令的起始或开头的话,那么重新同步,就很难实现了。


2 – STX –StartOfText文本开始

3 – ETX –End OfText文本结束

通过某种通讯协议去传输的一个数据(包),称为一帧的话,?;岚桓鲋⊥?,包含了寻址信息,即你是要发给谁,要发送到目的地是哪里,其后跟着真正要发送的数据内容。

而STX,就用于标记这个数据内容的开始。接下来是要传输的数据,最后是ETX,表明数据的结束。

其中,中间具体传输的数据内容,ASCII规范并没有去定义,其和你所用的传输协议,具体自己要传什么数据有关。


帧头

数据或文本内容



SOH(表明帧头开始)

。。。。(帧头信息,比如包含了目的地址,表明你发送给谁等等)

STX(表明数据开始)

。。。(真正要传输的数据)

ETX(表明数据结束)



我要点评

  • 河南省虞城县:微治理撬动大综治 2019-05-22
  • 多视角、多元化,中外知识产权面面观 2019-05-21
  • 生活-热门标签-华商生活 2019-05-21
  • 带动乡亲干 各自有实招——三位农村社区党组织书记的故事 2019-05-20
  • 数读舆情:2017年中国人阅读了多少文字? 2019-05-20
  • 老师:讲课再累都不怕 就怕各级搞检查讲课再累都不怕-教育时讯 2019-05-19
  • 超越舆情管理的360度信息决策 2019-05-18
  • 十届市委六次全会热议的关键词:推进改革 敢担当敢作为敢攻坚 2019-05-17
  • 黄山市曝光13处省市政府挂牌督办重大火灾隐患点 2019-05-16
  • 7块钱买的皮鞋问是不是真皮?大妈,我看你是真皮! 2019-05-15
  • 公权者执行公务,不仅须要依法履职尽责,更须要克己奉公廉洁自律。 2019-05-15
  • 俄罗斯的“地球盛会”,是增进世界和平和友谊的盛会。 2019-05-14
  • 光明日报:对抄袭行为不能仅道德谴责 2019-05-13
  • 直击执法人员围剿“地条钢”,揭秘违规企业的“套路” 2019-05-12
  • 植树、采茶、挖野菜…… 这才是春天正确的打开方式 2019-05-11
  • 965| 754| 623| 263| 615| 477| 470| 357| 501| 534|