初始编码

  电脑的传输,存储,实际上都是0101,

  中文有9W多字。

 

  美国:ascii码, 想要表示一个英文和特殊字符和数字使用一个字节就可以表示了,但是不能满足全球化的文字问题,所以创建了一个万国码,Unicode。unicode最初不管英文还是中文是用16位表示。unicode只有两种状态,一种是16位,一种是32位,32位unicode是为了适用全球化。

 

  Unicode一个中文用四个字节表示,因为东西都是存储在硬盘中,硬盘中存储的二进制,如果一个中文就需要用4个字节去表示,那么硬盘也太浪费了,并且中文用3个字节表示就绰绰有余了。

 

  所以Unicode升级版出现了utf-8,一个中文用3个字节去表示。utf-8可以表示所有的中文。是unicode的升级版。utf-8编码包含日语/韩语/中文等。

 

  utf-8,utf-16,utf-32为Unicode的升级版

   

  utf-8:最少用一个字节表示一个英文。

       欧洲:两个字节。

     亚洲:三个字节。

  

  GBK也是一个编码方式,但是是中国弄的一个编码,里面只包含对中文和英文和数字等的一些编码,不包含日语韩语等编码。只在国内使用,一个中文用两个字节去表示,但是不能把所有的中文都表示出来,所以编码方式应该使用utf-8。

 

  GBK:

    包含ASCII码,只能用于中文和ASCII码。

    中文用两个字节。

    英文用一个字节。

    GBK和utf-8必须要通过unicode进行互换。(比如:在实际开发中,如果之前用的是GBK格式的编码,那么如果想要转换成UTF-8,则必须先将GBK转换为Unicode,然后在将Unicode转换为UTF-8。从UTF-8转换为GBK也是同样,需要Unicode作为中间层进行参与)

转载于:https://www.cnblogs.com/whylinux/p/9501319.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值