tongsiying

阅读|运动|自律

0%

ASCII

前言

ASCII (美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际]标准ISO/IEC 646。到目前为止共定义了128个字符 。

1. ASCII比较大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ASCII比较大小的时候,是比较两个数中的第一个字符 
1)常用字符有128个,编码从0到127。
2)控制字符:0~31、127,共33个,不可显示;
3)普通字符:95个,包括10个阿拉伯数字、52个英文大小写字母、33个运算符。
4)每个字符占一个字节,7位,最高位为0。

常见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;

2.字符 –> ASCII码

1
2
#输出字符“a”的ASCII码“97”
printf "%d\n" "'a"

3. ASCII码 –> 字符

1
2
3
4
5
6
7
8
9
10
11
12
#十六进制数0x61转成字符“a”
#十进制数97转成字符“a”,先转成十六进制
printf "\x61\n"
printf "\x`printf "%x" 97`\n"

#使用awk的printf函数
awk 'BEGIN{printf "%c\n",97}'
awk 'BEGIN{printf "\x61\n"}'

注:
shell中的printf不支持如同awk中printf的%c写法
awk中的printf函数参数不支持0x61十六进制写法,这样写会被当作是个字符串

引用:
https://blog.csdn.net/c20130911/article/details/73187757

赞赏一下吧~