编码ASCII,Unicode,UTF-8,GB2312是什么意思

2025-03-26 23:42:28

1、他们把这256中状态编上号,从0 开始到32都规定了特殊的用途,比如遇到0x10,终端就换行,遇到0x07终端就嘟嘟叫,0x就是16进制的意思,他们把0x20(十进制相当于32)以下的叫控制码,然后把字母、数字、标点都编进去,一直编到了第127号,大家把这个方案叫做ANSI的ASCII编码。之后又有别的国家用了剩下的位置,这些位置叫扩展字符集。

2、等到传到中国的时候256已经用的差不多了,况且中国几千个汉字也放不下啊,这时候,从面的中国人,干脆把127以下的保留(半角),127以上的抛弃,然后用两个256,就是两个字节表示一个中文字符,这样就是16位了,这不就能存几万个信息了嘛(全角),他们把前面的字节叫高字节从0xA1到0xF7,后面的字节叫低字节从0XA1到0xFE,这样就可以组合成7000多种状态了,这就是人们口中的一个中文字符顶两个英文字符,这种方案就是GB2312,其实是从ASCII中发展过来的,之后又做了优化发展有录入了很多少数民族字符,这成了后来的GBK 标准,再后来是DBCS

3、之后ISO出来了,就是国际化标准组织。为了解决一个问题就是不同国家之间的编码转换问题,定制了一套专门的编码,叫Unicode,她解决了世界上所有文化语言,全部录入进去了,规定了全部使用两个字节代表字符,原先127以下的继续使用,剩下的都做了重新编排定义

4、UTF-8,是Unicode的一种,还有UTF-16等,为什么出现的UTF-呖分甾胗8,因为Unicode中把英文字符也弄芤晟踔肿成了两个字节,其实他们一个字节就行,这不就造成了内存的浪费,信息的降速吗,于是有了UTF-8,在UTF-8中是以8位传输的,如果字符占一个字节那么这个八位字节第一位就是0,如果占两个字节,那么第一个字节前三位是110,第二个字节前两位是10,如果占三个字节,那么第一个字节前四为是1110,第二三个字节前两位是10。因为如果用两个UTF-8字节表示中文字符的话,UTF-8就有16位减去已经固定的5位就剩11位了,显然不符合标准,而如果用三个UTF-8字节表示中文字符的话,24位位减去8位正好是16位,多以可以表示中文字符,所以中文就占三个字节,而英文只需一个字节,UTF-8的好处就是可以区分这些不同的字符,用的一套方案

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢