C语言中字符编码到底有啥用
rt复制的就别回答了比如字符a,它的ascii码对应数字10(我随便举个例子,我知道他不对应10)为什么一个字符要对应一个ascii码,具体有什么用,ascii码都是数字...
rt
复制的就别回答了
比如字符a,它的ascii码对应数字10(我随便举个例子,我知道他不对应10)为什么一个字符要对应一个ascii码,具体有什么用,ascii码都是数字吗? 展开
复制的就别回答了
比如字符a,它的ascii码对应数字10(我随便举个例子,我知道他不对应10)为什么一个字符要对应一个ascii码,具体有什么用,ascii码都是数字吗? 展开
4个回答
展开全部
你这个问题挺有意思的。
看得出来你学东西有点思考哈。
说说我的理解
电脑里面保存的所有东西,其实都是1和0而已
所谓的字符型变量char,本质上和int变量只有长度的区别,也是保存1和0的,并没有什么特别之处。一个char变量,就是占用一个字节的空间。一个int变量,占用2个字节的空间
那这时候有个麻烦,我要输出一个字母怎么办?
比如输出a
电脑里只有1和0啊,如果要表示大点的数字还好办,只要多几位1和0,总可以表示
但是字母呢,符号呢?1 和0如何表示这些东西?
我写程序时怎么告诉电脑,我要在屏幕上显示的是“a”呢?
所以电脑最初的设计者们,就要为字母、数字、常用符号等等设计一套编码。
让程序员可以用这些编码来表示对应的字符。
这个编码最好是全球统一的,要不同一个编码,在你的电脑显示a,在我的电脑显示b,
那程序还怎么用?
所以,ASCII应运而生
“使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。”
有了这么一套约定俗成的东西,我只要输入对应的ACSII码,所有的电脑都会帮你输出对应的符号了。明白了吗?
其实汉字也一样,汉字也有其内码,才能够通过输入法来输入汉字。
看得出来你学东西有点思考哈。
说说我的理解
电脑里面保存的所有东西,其实都是1和0而已
所谓的字符型变量char,本质上和int变量只有长度的区别,也是保存1和0的,并没有什么特别之处。一个char变量,就是占用一个字节的空间。一个int变量,占用2个字节的空间
那这时候有个麻烦,我要输出一个字母怎么办?
比如输出a
电脑里只有1和0啊,如果要表示大点的数字还好办,只要多几位1和0,总可以表示
但是字母呢,符号呢?1 和0如何表示这些东西?
我写程序时怎么告诉电脑,我要在屏幕上显示的是“a”呢?
所以电脑最初的设计者们,就要为字母、数字、常用符号等等设计一套编码。
让程序员可以用这些编码来表示对应的字符。
这个编码最好是全球统一的,要不同一个编码,在你的电脑显示a,在我的电脑显示b,
那程序还怎么用?
所以,ASCII应运而生
“使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。”
有了这么一套约定俗成的东西,我只要输入对应的ACSII码,所有的电脑都会帮你输出对应的符号了。明白了吗?
其实汉字也一样,汉字也有其内码,才能够通过输入法来输入汉字。
追问
我看网上的ascii码都是十进制显示的,你说都是7位二进制数,那就是说通过某种功能可以让ascii码从十进制变成二进制让电脑去执行这些二进制命令了对吧?
追答
十进制或二进制是一样的哈,
举个例子,数字20,它对应的二进制数就是00010100
人的思维比较容易理解十进制的数
电脑里面都是二进制的数
这个不需要转换,如果你学程序就知道了,里面不同数字怎么写是有规定的。
而且不管你在程序里写十进制数还是二进制数还是十六进制数,最终保存到电脑里的一定是二进制数。
还有额,这个不是“命令”,只是编码
程序才是命令,我们可以用程序要求电脑去显示我们所提供的编码
比如,按你瞎编的,“比如字符a,它的ascii码对应数字10”
那么,我在程序里写一条指令,要求在屏幕以ASCII形式显示数字10,那么最终出现在屏幕里的就是字母a了
展开全部
你说的字符编码指的是什么?
明白了http://www.96yx.com/tool/ASC2.htm
这是全部的ascii码对应关系
计算机里面使用7位二进制数来表示一个字符的,因为计算机只能处理二进制数啊,
ascii码里面是不能表示汉字的,扩展ascii码可以表示汉字,就是多加了一个符号位
明白了http://www.96yx.com/tool/ASC2.htm
这是全部的ascii码对应关系
计算机里面使用7位二进制数来表示一个字符的,因为计算机只能处理二进制数啊,
ascii码里面是不能表示汉字的,扩展ascii码可以表示汉字,就是多加了一个符号位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算机不懂字符,对字符编码将它转化为对应的二进制有利于,人与计算机进行交流。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算机底层都是用01二进制代码存储数据,如果不用字符编码,难道我们在编程的时候都要用01,都用01二进制代码编程,那是可以的。但是,效率何在呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询