部分原文出处:
https://www.freecodecamp.org/news/everything-you-need-to-know-about-encoding/
这篇文章里,我会向大家简要的介绍编码相关的历史,同时还会通过介绍部分计算机科学理论的基础来帮助更好的理解编码知识 。
编码介绍及历史我们都知道计算机只能理解二进制数据暨0和1,二进制是计算机语言,这是因为计算机在设计之初是由八个晶体管通过开合来表示数据的,于是这八位二进制数据被称为“字节”,一个字节根据八位的不同组合共有256种不同的结果 。
在计算机启用之初,由于只在美国本土使用,所以开发者通过256个编码制定了ASCII标准,ASCII是将二进制字符对应到大小写字母、数字和常用符号的映射关系表,表如下:

文章插图
我们可以看到,这张表里只用到了128就能完整表示出所有英语文字的方案了,而128-255位被定义为了扩展字符集,留作日后用来扩展使用,例如用来表示如:边框、圆角、西文等字符,以下是第一批IBM计算机使用的ASCII的128-255编码映射关系 。

文章插图
但随着计算机的不断普及,国内和其他的一些国家也开始使用电脑,为了能在计算机上使用自己的文字,很多国家选择在127-255扩展定义自己的文字 。
我们国内也一样扩展了自己的映射表,但我们的常用汉字数量还是远远大于这个阈值的储存能力,于是我们定义在中文字符编码格式下,两个字节表示一个汉字 。于是在当时各个国家都有自己一套独特的扩展编码标准,以至于导致计算机在当时显示不同国家的字符时经常会出现乱码 。
类似下面这样

文章插图
Unicode的统一互联网是将世界各地计算机连接起来的途径,如果能通过一套标准为每种语言中的每个字符都设定统一且唯一对应的编码,那么世界上所有的文字都能正常显示出来,而不用为了显示某种文字而频繁切换codepage 。
???当然???如果就是???想显示??0590成这样?????除外??? 。
于是ISO国际组织于1994年正式推出了Unicode标准(又称万国码、统一码) 。之所以能统一,是因为Unicode规定了,所有字符统一由两个字节来表示,也就是16位 。原先的英文字符、数字和半角符号虽然原先在ASCII中只用8位就能表现,但需要扩充为16位的话必须在高位补0,如下示例:
1 – 00000001 – 00000000 00000001
可以看到,通过增长位数来扩展支持更多的语种这样的方式很不错,但在纯英文环境下由于没有用的补零高位会导致文本占用大量的存储空间,而这一情况在互联网时代的到来变得更加明显 。
于是为了解决英文Unicode在网络传输时带来的低效问题,UTF协议也随之而来 。
Unicode 转换协议 (UTF)UTF是我们对Unicode码点进行编码的一种方式 。UTF编码是由Unicode标准定义的,能够对我们需要的每一个Unicode码点进行编码 。
但是UTF标准有不同的类型 。它们分为UTF-8、UTF-16和UTF-32,而其中在互联网中最常用的就是UTF-8,在HTML5中也被置顶位新文档的默认编码 。
下图中你可以看到,从2012年开始,UTF-8相较其他字符集的受欢迎度越来越高 。

文章插图

文章插图
什么是UTF-8,它的工作原理是什么?UTF-8是一种可变长的编码方式,理论上可达6个字节,但已现行文字和符号看,4个字节是已经足够了 。
- 李沁的男朋友是谁2022 李沁的结婚照
- 联想对中国做了什么 联想是怎么背叛中国的 知乎
- 电脑版微信扫描二维码 怎么扫描手机上的二维码图片
- DEGAlA衣服什么牌子的 degaia是什么牌子中文女装
- 自己的房子出租会影响风水吗 租客走前门进出对风水有影响吗
- 老屋翻新风水 老屋屋檐破碎风水
- 济南长途客运中心电话 济南风水最好的位置
- 隐居的世外高人 隐居的高人叫什么
- 微笑语录正能量一段话 微笑的句子唯美短句
- 美好时光回忆的唯美短句 回忆的句子唯美短句
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
