Unicode与utf-8的区别

在弄清unicode与utf-8的区别之前先介绍一下字符串编码

1.ASCII编码

  • 因为计算机只能处理数字,所以字符、字符串或者说是文本在计算机中要转换成二进制数字进行保存,计算机中8个bit为一个字节,所以在计算机中一个字节最大能保存255个数字。由于历史的原因,计算机是美国人发明的,所以一个字节就可以表示所有的字符了,ASCII编码就成为美国人的标准编码。

2.GB2312编码与其他编码

  • 但随着计算机在全世界的普及,ASCII编码就无法满足其他语言字符的数量了,国人制定了GB2312编码,用两个字节表示一个汉字,不仅如此GB2312还把ASCII编码包含进去了。同理,其他国家也分别制定了适合自己国家语言的编码标准。这就导致了编码标准的混乱,如果多种语言混合显示就一定会出现乱码。

3.unicode编码

  1. Unicode:Unicode(又称统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。这是百度百科的解释.
    总结一句话:Unicode就是为了解决上面说的编码标准混乱而制定的一种统一编码
  2. 但是Unicode也有缺点:
  • 汉字“中”已近超出了ASCI编码的范围,用unicode编码是20013二进制是01001110 00101101
  • 字母A用ASCI编码十进制是65,二进制0100 0001;而A用unicode编码只需要前面补0二进制是00000000 0100 0001
  • 虽然乱码问题解决了,但是如果内容全是英文, unicode编码比ASCII需要多一倍的存储空间,同时如果传输需要多一倍的传输。

4.utf-8编码

  • 所以为了节省空间出现了可变长的编码“utf-8”,在utf-8中,英文占一个字节,中文占3个字节,生僻字占4-6个字节。显而易见,如果传输大量英文时utf-8编码会节省大量空间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值