首页 > 其他 > 详细

字符编码格式

时间:2020-08-08 09:09:24      阅读:74      评论:0      收藏:0      [点我收藏+]

计算机的世界里都是01那我们是怎么看到计算机给我们显示的字符,图片,甚至视频等的?

  因为01其实是用来表示数字的,那字母,特殊字符这些怎么办呢,计算机岂不是没办法表示了,所以就出现了ASCII码对应表,用数字和字符对应。数字是可以表示为二进制的,这样字符和二进制就可以关联了

  比如说数字0-9字符是用十进制的48-57表示的。我们看到一个数字1就是十进制49也就是二进制110001所以,一个字符1,使用一串0101010之类的二进制表示的

  验证:python中可以用ord(‘A‘)来查看字符对应的十进制是多少ord(‘0‘)是想知道0这个字符符号对应的数字表示

为什么要用8位二进制来表示字符?

  因为ASCII码最多就表示255个字符,用一个8位的二进制11111111就是255,正好每8位识别为一个字符进行分割,不足8位补0,这样就正好能表示字符且不会出现粘连的情况,计算机好奇妙啊!

  这里就牵扯出了计算机里的最小表示单位,比特,就是每一个0,1所占的位置。

  每8位就是一个字节,字节是最小的存储单位。

各种编码格式

  ASCII码是纯英文使用的编码格式。如果中文用ASCII就会乱码,因为这255个字符对应表中没有中文,计算机是美国人发明的

  于是,俺们国家就发明了GB2312,用16位表示一个中文字符,可以表示6000多个常用的汉字,但是还有很多字表示不了,后面慢慢完善就有了GBK2万多,并且GBK和GB2312是兼容ASCII码表的。也就是说如果一个文件中

中文和英文混合且使用GBK编码,那中文是占2个字节,英文仍然占1个字节,这样来保证文件可以更叫小

编码大战

  同样的,各个国家都发明了自己的编码对应表。导致每个国家都用自己的编码格式,不利于交流,以前下载日本的游戏要装语言包才能显示日文,不然可能会乱码。然后联合国就发明了Unicode码,就像是英语,为通用语言,规定计算机读取到内存中都是用

unicode格式进行编码,传输到硬盘时使用UTF-8编码。

  UTF-8/16/32  -8是使用1,2,3,4个字节表示,按照地区分。-16使用2,4个字节表示,2个表示不了则用4个  -32所有的都用4个字节表示一个字符,最浪费。UTF编码格式是为了解决Unicode可能造成的资源浪费而出现的

  unicode和gbk可以互相转,unicode到硬盘上是utf-8也可以相互转,但是utf-8和gbk是不能互相转的!

字符编码格式

原文:https://www.cnblogs.com/liuyongbo/p/13456080.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!