ASCLL码介绍、转义字符详细介绍

举报
holo.yh 发表于 2021/07/31 23:00:39 2021/07/31
【摘要】 一、ASCLL码0~31及127(共33个)是控制字符,它们并没有特定的图形显示,在实际的工程项目中,会依不同的应用程序起特定的作用 。32~126(共95个)是字符(32是空格):其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母,97~122为26个小写英文字母,其余为一些标点符号、运算符号等。 Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字...

一、ASCLL码


0~31及127(共33个)是控制字符,它们并没有特定的图形显示,在实际的工程项目中,会依不同的应用程序起特定的作用 。

32~126(共95个)是字符(32是空格):其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母,97~122为26个小写英文字母,其余为一些标点符号、运算符号等。





Bin

(二进制)


Oct

(八进制)


Dec

(十进制)


Hex

(十六进制)


缩写/字符


解释


以下(0~31)为控制字符


0000 0000


00


0


0x00


NUL(null)


空字符


0000 0001


01


1


0x01


SOH(start of headline)


标题开始


0000 0010


02


2


0x02


STX (start of text)


正文开始


0000 0011


03


3


0x03


ETX (end of text)


正文结束


0000 0100


04


4


0x04


EOT (end of transmission)


传输结束


0000 0101


05


5


0x05


ENQ (enquiry)


请求


0000 0110


06


6


0x06


ACK (acknowledge)


收到通知


0000 0111


07


7


0x07


BEL (bell)


响铃


0000 1000


010


8


0x08


BS (backspace)


退格


0000 1001


011


9


0x09


HT (horizontal tab)


水平制表符


0000 1010


012


10


0x0A


LF (NL line feed, new line)


换行键


0000 1011


013


11


0x0B


VT (vertical tab)


垂直制表符


0000 1100


014


12


0x0C


FF (NP form feed, new page)


换页键


0000 1101


015


13


0x0D


CR (carriage return)


回车键


0000 1110


016


14


0x0E


SO (shift out)


不用切换


0000 1111


017


15


0x0F


SI (shift in)


启用切换


0001 0000


020


16


0x10


DLE (data link escape)


数据链路转义


0001 0001


021


17


0x11


DC1 (device control 1)


设备控制1


0001 0010


022


18


0x12


DC2 (device control 2)


设备控制2


0001 0011


023


19


0x13


DC3 (device control 3)


设备控制3


0001 0100


024


20


0x14


DC4 (device control 4)


设备控制4


0001 0101


025


21


0x15


NAK (negative acknowledge)


拒绝接收


0001 0110


026


22


0x16


SYN (synchronous idle)


同步空闲


0001 0111


027


23


0x17


ETB (end of trans. block)


结束传输块


0001 1000


030


24


0x18


CAN (cancel)


取消


0001 1001


031


25


0x19


EM (end of medium)


媒介结束


0001 1010


032


26


0x1A


SUB (substitute)


代替


0001 1011


033


27


0x1B


ESC (escape)


换码(溢出)


0001 1100


034


28


0x1C


FS (file separator)


文件分隔符


0001 1101


035


29


0x1D


GS (group separator)


分组符


0001 1110


036


30


0x1E


RS (record separator)


记录分隔符


0001 1111


037


31


0x1F


US (unit separator)


单元分隔符


以下为标点符号(32~47、58~64、91~96、123~126)


0010 0000


040


32


0x20


(space)


空格


0010 0001


041


33


0x21


!


叹号


0010 0010


042


34


0x22


"


双引号


0010 0011


043


35


0x23


#


井号


0010 0100


044


36


0x24


$


美元符


0010 0101


045


37


0x25


%


百分号


0010 0110


046


38


0x26


&


和号


0010 0111


047


39


0x27


'


闭单引号


0010 1000


050


40


0x28


(


开括号


0010 1001


051


41


0x29


)


闭括号


0010 1010


052


42


0x2A


*


星号


0010 1011


053


43


0x2B


+


加号


0010 1100


054


44


0x2C


,


逗号


0010 1101


055


45


0x2D


-


减号/破折号


0010 1110


056


46


0x2E


.


句号


0010 1111


057


47


0x2F


/


斜杠


48~57为字符 '0' ~ '9'


0011 1010


072


58


0x3A


:


冒号


0011 1011


073


59


0x3B


;


分号


0011 1100


074


60


0x3C


<


小于


0011 1101


075


61


0x3D


=


等号


0011 1110


076


62


0x3E


>


大于


0011 1111


077


63


0x3F


?


问号


0100 0000


0100


64


0x40


@


电子邮件符号














0101 1011


0133


91


0x5B


[


开方括号


0101 1100


0134


92


0x5C


\


反斜杠


0101 1101


0135


93


0x5D


]


闭方括号


0101 1110


0136


94


0x5E


^


脱字符


0101 1111


0137


95


0x5F


_


下划线


0110 0000


0140


96


0x60


`


开单引号


97~122为小写字母


0111 1011


0173


123


0x7B


{


开花括号


0111 1100


0174


124


0x7C


|


垂线


0111 1101


0175


125


0x7D


}


闭花括号


0111 1110


0176


126


0x7E


~


波浪号


127为控制字符


0111 1111


0177


127


0x7F


DEL (delete)


删除



ASCLL码是用来表示字符的,ASCLL码本身是数字

“ 为什么要使用ASCII码?"

日常生活中,我们使用的字母a、b、c在计算机中是没法直接运算的,需要转成0、1组成的二进制数使计算机能够识别,这就出现了ASCLL码 (American Standard Code for Information Interchange): 美国信息交换标准代码)

我们在生活中常用的有字母a~z、A~Z、0~9,还有一些常用的符号(例如*、#、@等),ASCLL码是ANSI(美国国家标准学会(American National Standard Institute )制定的,是一种单字符编码方案。用于基于文本的数据

任何一个字符都对应一个整数。计算机内部信息都是有0或1组成的,如果



ASCLL码共有128个,使用七位二进制数来表示字符'0'~'9'、小写字母'a'~'z'、大写字母'A'~'Z'、还有控制符



七位二进制数:0000000~1111111 (十进制的0~127)共128个数,所以有128个ASCLL码

(进制转换在第二章第一节1.3中介绍)

其中0不存储任何字符,

剩余127个表示如下字符:




十进制ASCLL码


表示的字符


ASCLL码本码


0~31及127


控制字符




48~57


字符'0'~'9'(10个)


二进制:110000~111001


97~122


小写字母'a'~'z'(26个)




65~90


大写字母'A'~'Z'(26个)





控制字符在C语言中用转义字符表示,当然转义字符不只是可以表示控制字符。如:'\41'→041(八进制)→33(十进制)→ !(标点符号)



字母记不住?

大写记忆方法:

只需记住A的ascll码为65,加几等于目标字符?

把A~Z想象成1~26,

E的ASCLL,码是多少?A就是1,E就是5,1加几等于5?4!那么E就等于A加4=65+4=69;

Z想象成26,26=1+25,Z就等于65+25=90

小写记忆方法:

小写a~z一样的,只需记住a的ascll码为97,加几等于目标字符?

把a~z想象成1~26,

f的ASCLL码是多少?a就是1,1加几等于6?5!那么f就等于a加5=97+5=102;

z就是26,1加几等于26?25,Z就等于97+25=122

数字记忆方法:

'0'是48,

'9'的ACSLL码是多少?0+几等于9?9!所以'0'就加9, ,等于 48+9=57


大小规则

常见ASCII码的大小规则:0~9<A~Z<a~z。

1)数字比字母要小。如 “7”<“F”;

2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;

3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;

4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。

几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48  。

二、转义字符

转义字符和普通字符区别:

普通字符前加\就不是普通字符了,变为了转义字符


   	printf("%d\n",'\b'); //8 '\b'是转义字符对应ASCII码为8
   	printf("%d\n",'b'); //98  'b'是普通字符对应ASCII码为98
   	
   	printf("%d\n",'\n'); //10 '\n'是转义字符对应ASCII码为10  
   	printf("%d\n",'n'); //110 'n'是转义字符对应ASCII码为110


控制字符不显示:

分别以十、八、十六进制输出控制字符,结果:不会有字符显示在屏幕上


    printf("%c,%c,%c\n",127,0177,0x7F); //,,  (ASCII为127的字符是控制字符(del:删除),因此不显示)
	printf("%c,%c,%c\n",7,'\7','\x7'); //,, (ASCII为7的字符是控制字符(\a:响铃),因此不显示)




转义字符的表示方法(3种):



'\+字符'


'\n'


换行


'\+1~3为8进制数'(0~7)


'\101'


即0101(八进制)→ 65(十进制)→ 'A'


'\x+1~2位十六进制数'(0~F)(即0~15)


'\x4F'


即0x4F(十六进制)→ 99(十进制)→ 'c '


注意:转义字符的前缀是反斜杠\,不是斜杠/。只有除以(/)和取余(%)是斜杠,其他(转义字符前缀、文件路径)的是反斜杠!!!!

所有的转义字符和所对应的意义:



转义字符


意义


ASCII码值(十进制)


\a


响铃(BEL)


007


\b


退格(BS) ,将当前位置移到前一列


008


\f


换页(FF),将当前位置移到下页开头


012


\n


换行(LF) ,将当前位置移到下一行开头


010


\r


回车(CR) ,将当前位置移到本行开头


013


\t


水平制表(HT) (跳到下一个TAB位置)


009


\v


垂直制表(VT)


011


\\


代表一个反斜线字符''\'


092


\'


代表一个单引号(撇号)字符


039


\"


代表一个双引号字符


034


\?


代表一个问号


063


\0


空字符(NUL)


000


\ddd


1到3位八进制数所代表的任意字符


三位八进制


\xhh


十六进制所代表的任意字符


十六进制



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。