网站手机版二维码怎么做腾讯域名怎么做网站
news/
2025/10/2 9:07:10/
文章来源:
网站手机版二维码怎么做,腾讯域名怎么做网站,有没有在网上做ps赚钱的网站,seo排名点击手机编码是信息从一种形式或格式转换为另一种形式的过程#xff0c;也称为计算机编程语言的代码简称编码。 用预先规定的方法将文字、数字或其它对象编成数码#xff0c;或将信息、数据转换成规定的电脉冲信号。 编码在电子计算机、电视、遥控和通讯等方面广泛使用。 解码#x…编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码。 用预先规定的方法将文字、数字或其它对象编成数码或将信息、数据转换成规定的电脉冲信号。 编码在电子计算机、电视、遥控和通讯等方面广泛使用。 解码是编码的逆过程。
为什么出现多种编码
相信计算机专业的都知道所有的数据文本音频视频等等在计算机内部都是以二进制形式来表示的。而计算机内部为什么采用二进制则是由硬件决定的计算机采用了具有两种稳定状态的二值电路。这样就引出一个问题我们人类不适合直接看二进制。 因此需要用一种方法将二进制转为我们能看懂的东西。编码就应运而生了。
编码发展历史
第一阶段 在计算机中所有的数据只可能是0或者1(用高电平和低电平分别表示1和0)那么我们通常看到的字符也就只能用0和1来表示。于是科学家们(这里指的是美国的科学家)就想出一个办法把一个特定的数字对应一个特定的字母进行存储和传输比如我需要存储字母a那么我存入一个数字97(即在计算机中存入二进制(01100001)这个过程叫做编码(encode)而我们在读取数据的时候当遇到97时我们就让计算机显示字母a这个过程叫做解码(decode)。这里你应该知道
计算机看懂的东西我们看不懂我们看懂的东西计算机看不懂。
把计算机看懂的东西二进制(01100001)变成我们看懂的东西数字97也就是a这个过程叫解码decode 把我们看懂的东西数字97也就是a变成计算机看懂的东西二进制(01100001)这个过程叫做编码encode 为了大家在数据传输的时候不至于产生误会那么我们需要让所有的人都使用数字97来代表字母a所以需要制定一份标准(即码表)最开始的这个标准叫做ASCII码表。ASCII码的实现方式 最早的计算机在设计时采用8个比特bit作为一个字节byte所以一个字节能表示的最大的整数就是255二进制11111111十进制255。 由于计算机是美国人发明的因此最早只有127个字符被编码到计算机里即用一个字节的后七位也就是大小写英文字母、数字和一些符号这个编码表被称为ASCII编码比如大写字母A的编码是65小写字母z的编码是122。
第二阶段 随着发展计算机开始普及当计算机流传到欧洲时问题再次出现原本的ASCII编码只能解决美国人的编码问题无法将欧洲的文字表示出来。于是乎欧洲人就把ASCII码中没用到的第一位给用了即
ASCII码用一个字节的后七位表示范围是0-127欧洲人把这个字节的第一位也用了表示范围0-255。除去原本的0-127剩下128-255128-159之间为控制字符160-255位文字符号其中包括了西欧语言、希腊语、泰语、阿拉伯语、希伯来语。砖家们决定把他们的编码名称叫做Latin1后面由于欧洲统一制定ISO标准所以又有了一个ISO的名称即ISO-8859-1。
第三阶段 计算机技术当然也传到了亚洲大地比如中国。原本的一个字节的8个位全都用完了但是要处理中文显然一个字节是不够的至少需要两个字节而且还不能和ASCII编码冲突所以中国制定了GB2312编码用来把中文编进去。问题又来了
你可以想得到的是全世界有上百种语言日本把日文编到Shift_JIS里韩国把韩文编到Euc-kr里各国有各国的标准就会不可避免地出现冲突结果就是在多语言混合的文本中显示出来会有乱码。
因此Unicode应运而生。Unicode把所有语言都统一到一套编码里这样就不会再有乱码问题了。 到了这里已经知道的编码方式主要有两种ASCII和Unicode 现在捋(lǚ)一捋ASCII编码和Unicode编码的区别
ASCII编码是1个字节而Unicode编码通常是2个字节。(如果要用到非常偏僻的字符就需要4个字节)字母A用ASCII编码是十进制的65二进制的01000001字符0用ASCII编码是十进制的48二进制的00110000注意字符0和整数0是不同的汉字中已经超出了ASCII编码的范围用Unicode编码是十进制的20013二进制的01001110 00101101。
你可以猜测如果把ASCII编码的A用Unicode编码只需要在前面补0就可以因此A的Unicode编码是00000000 01000001。新的问题又出现了
如果统一成Unicode编码乱码问题从此消失了。但是如果你写的文本基本上全部是英文的话用Unicode编码比ASCII编码需要多一倍的存储空间在存储和传输上就十分不划算。
所以本着节约的精神又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。 UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节常用的英文字母被编码成1个字节汉字通常是3个字节只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符用UTF-8编码就能节省空间。
字符ASCIIUnicodeUTF-8A0100000100000000 0100000101000001中x01001110 0010110111100100 10111000 10101101
从上面的表格还可以发现UTF-8编码有一个额外的好处就是ASCII编码实际上可以被看成是UTF-8编码的一部分所以大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。
ASCII,Unicode,utf-8之间的关系
看完上面的东西可能有点乱我这里简单总结一下ASCII,Unicode,utf-8之间的关系
ASCII是计算机刚刚起步的时候用得编码方式特点是可以表示的字符特别少但简单易用。Unicode是随着计算机发展ASCII已经无法表示世界各国这么多文字而出现的一个新的编码方式优点是编码快速缺点是占用内存大。如果你的文本全都是英语如果用Unicode时每个字符占用两个字节。而用ASCII每个字符只占用一个字节为了解决Unicode的内存占用大问题出现了utf-8,utf-8可以根据字符的类型自动选择最优编码。但缺点是编码速度慢。
所以有了令人容易搞混的问题出现
什么时候用utf-8这里utf-8已经包括ASCIIASCII编码实际上可以被看成是UTF-8编码的一部分编码方式什么时候用Unicode编码方式
什么时候用utf-8编码 答案很显然对内存消耗要求高的对速度要求不高的场景下用utf-8。注意这里的速度是指cpu运算速度 那你就想啊什么时候对内存消耗要求高很容易地就想到当我们要保存在硬盘的时候肯定是想占用空间越少越好啊当我们在网络上传输肯定也想占用空间越少越好啊所以当我们的数据保存在硬盘的时候当我们数据要在网络传输的时候用得就是utf-8编码。
什么时候用Unicode? 答案显然对速度要求特别高的相对之下占用空间大小可以稍微妥协的场景下用Unicode编码。 我们知道数据想被处理首先得加载都内存上这样cpu才能以非常惊人的速度再内存上获取要处理的数据。这样我们就轻易知道当数据被加载到内存上时在内存中的编码方式是Unicode。我们来个总结1.我们平时电脑磁盘中的一个文件abc.txt其实是以utf-8编码方式存储的当我们打开这个文件时这个文件在加载到内存的时候会转变为Unicode编码方式。 2.浏览网页的时候服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器所以你看到很多网页的源码上会有类似meta charsetUTF-8 /的信息表示该网页正是用的UTF-8编码。 参考https://www.cnblogs.com/busui/p/9340339.html
下篇文件主要介绍一下python3 中的编码和解码相关内容
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924733.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!