c++ ascii转换函数_C|通过ctype库的字符分类函数来认识128个ASCII字符及其编码规律...

128个ASCII字符(不可打印(控制)或可打印字符)的分类可用以下函数(在类库中)区分:

isalnum() Check if character is alphanumeric (function )

isalpha() Check if character is alphabetic (function )

isblank() Check if character is blank (function )

iscntrl() Check if character is a control character (function )

isdigit() Check if character is decimal digit (function )

isgraph() Check if character has graphical representation (function )

islower() Check if character is lowercase letter (function )

isprint() Check if character is printable (function )

ispunct() Check if character is a punctuation character (function )

isspace() Check if character is a white-space (function )

isupper() Check if character is uppercase letter (function )

isxdigit() Check if character is hexadecimal digit (function )

128个ASCII字符的编码并非毫无规律,按十六进制编码去看,非打印控制字符编排在前面,数字、大写字母、小写字母都是一个取整的十六进制数+1开始排在一起。

4931a62901fa8a2a5a53762a7a7fbc4d.png

可打印标点符号(punctuation,上图红色字体)被数字、大写字母、小写字母分成了四块。

如果你去考虑字母大小写的转换,你会看到其编码的精心安排之处:

printf("%d",'a'-'A');  // 32, 100000bprintf("%c",'a'^32);  // A, 1000001^100000,相当于加32printf("%c",'A'^32); // a, 1100001^100000,相当于减32

-End-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值