ASCII码是什么意思?(ascii码值大小顺序)
2023-08-03 01:34:38 阅读:
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。
上述ASCII的定义摘自百度百科……
ASCII_百度百科baike.baidu.com/item/ASCII/309296?fromtitle=ascii%E7%A0%81&fromid=99077&fr=aladdin

不过我们理解成这个就好了——ASCII的字符本质上是一个数,此外ASCII是一个8位的编码(尽管实际上只用了7位)。
在C语言中也是如此,比如说一个字符串"HELLO",那么实际上在内存中他存成了这个样子:
H E L L O \0
72 69 76 76 79 0
上面我按照十进制写出了他的数值,如果你用迭代输出的话应该能得到第二行的结果
#include <stdio.h>
int main()
{
char str[] = "HELLO";
for(char c = str[0]; c != \0; c++)
printf("%d ",c);
printf("%d",c)
return 0;
}
这里面我们对str中每一个字符c以%d进行输出,就能得到上面的数了,这个数就是字符c对应的ASCII码。
很明显上面的数可以用十六进制表示:
H E L L O \0
72 69 76 76 79 0
0x48 0x45 0x4c 0x4c 0x4f 0x00
第三行就是用十六进制表示的ASCII码(或者说十六进制ASCII码)了。你可以用%x替换%d就能看到这样的输出了。
为什么非弄这么个东西呢
在计算机中,任何数据都以二进制的形式存储。
然后很明显地,我们没法用这个东西去真正意义上的存个字母"a"进去,因为再怎么说二进制数最后只能落实成数而不是文本。
这就好像电报一样,电报只能发送电信号,无论如何也不可能发送一个手写的字母"a",但是我们又需要用这东西传递信息,那么如果我们想用电报表示文本,那就只能对每一个文本进行编码(Encoding)。
于是才有了类似于摩斯电码等等电报编码的方式,这些编码的目的就是把文本转换成数值信号。
"A"→⋅−"A" \rightarrow \cdot-
那么对于ASCII也是同理,他是一种把字符编码成二进制的方式:
a→(01100001)B=97a\rightarrow (0110 \ 0001)_B=97
因为只有转换成二进制数才能被计算机存储和发送。
当然ASCII只是一种编码方式而已,当然还有其他的编码方式。
以上就是关于《ASCII码是什么意思?(ascii码值大小顺序)》的全部内容,本文网址:https://www.7ca.cn/tg/43567.shtml,如对您有帮助可以分享给好友,谢谢。
声明