GB2312将取代UTF-8? 确有其事?

字号+ 编辑: 种花家 修订: 小红帽 来源: 网络转载 2023-09-07 我要说两句(0)

最近很多人通过支付宝网站或是手机钱包上,发现余额宝有不可用余额,资金是被冻结的,有的是冻结全部,有的是冻结一部分。那么余额宝冻结金额是怎么回事?如何解决?下面小编就为大家介绍一下,一起来看看吧

当提到“编码”的概念,如果只认识UTF-8和GB2312就显得格局low了,甚至于有非常多人不了解它们是什么,又代表了怎样的含义,所以才提出GB2312何时能够代替UTF-8的问题。

众所周知目前的机器仅能识别“0”和“1”,也就是说机器只能够处理数字,想要处理文本,就必须先把文本转换为数字机器才能处理。举个例子:字母“A”是一个字符,在ASCII码中十进制数“65”就表示字符“A”,用二进制数表示就是“0100 0001”。这时我们就能很好的理解编码了,编码表非常像一本字典,只有它的存在二进制数、十进制数、字符之间才能相互转换,像极了一本密码本,只有拥有这本密码本才能相互解密,要不看着就是乱码。

最早出现的编码是ASCII,因为计算机最早是由美国人发明的,存储能力和性能都受到当时科技发展情况的限制, 所以在当年制定的ASCII标准下, 顺理成章地, 只有127个字符被编码到计算机里,包括了大小写英文字母、数字和一些符号。

ASCII表.jpg

如果全世界的人都使用英文, 也别用什么颜文字啊、表情符号啊,那么编码后面就不会发生那么多事了,26个字母大小写也就是52个,数字0~9,再加上标点符号和其他一些符号,但事实并不是这样的全世界有上百种语言,所以各国都有各国的编码标准。比如中国大陆几乎所有的中文系统和软件都支持GB2312(GB就是国标的意思),它几乎满足了计算机中汉字99.75%的使用频率,但人名、古汉语等会出现罕用字,所以才出现了后来的GBK、GB18030汉字字符集。

第0区区.jpg

乱码: 使用错误的编码标准去解释代码

过去word文档打开常常就是一堆乱码,就是编码导致的,没有识别到正确的编码显示就是乱码。

因此Unicode字符集编码就出现了,它将世界上所有语言都统一到了一套编码里面,这样就不会再出现乱码的问题了,所以操作系统和大多数编程语言就开始直接支持Unicode字符集编码。

Unicode字符集确实是解决了乱码的问题,但如果你写的文本基本都是英文的话,用Unicode编码会比ASCII编码需要多出一倍的存储空间,因为ASCII编码是1个字节,而Unicode编码通常是2个字节。比如字母“A”用ASCII编码二进制是01000001,而采用Unicode编码就是00000000 01000001,这样在存储和传输的效率上就显得特别的不划算。于是Unicode编码就演变为可变长编码的UTF-8编码,常用的英文字母被编码为1个字节,汉字通常是3个字节,而一些生僻字符则会编码成4~6个字节,这样就能节省存储资源、提高传输的效率。

01000001.jpg

综上所述, GB2312是字符中文编码的一种国家标准,而UTF-8囊括了几乎所有国家的常用字符编码,名副其实的成为了万国编码。既然有万国编码的存在,为什么GB2312又没有消失呢?这是因为我们可能还需要显示一些不同寻常、不常见的汉字,所以就不能完全才有万国编码。

要实现UTF-8编码和GB2312编码的转换必须先把UTF-8编码还原成Unicode编码,再把Unicode编码转化成GB2312编码,同样GB2312转换成UTF-8也是同样的道理。所以别再提GB2312合适能够代替UTF-8的问题了,这样会显得特别没有文化。

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 古尔曼:苹果公司正将更多注意力转向6G研发

  • 小谈互联网变现挣钱的14个模式

  • 大裁员, 巨亏, 知乎“值乎”?

  • a站b站是什么意思

我要说说
网上宾友点评