字符编码ascii、unicode、utf-8、gbk 的关系

ASCII码:

计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASCII码。ASC码II包括数字大小写字母和常用符号,一共128个,1字节(Byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1Byte

Unicode编码:

计算机进入中国后,ASCII完全不够用,于是我们就制定了自己的GB2312编码,把汉字编码了进去。类似的在各国都有相同的情况,各国都开始制定自己的一套编码,计算机的编码越来越庞大,越来越乱,为了解决这一问题,Unicode应运而生。Unicode将各国文字统一编码,所以Unicode编码可以看做是ASCII的扩展。特点:速度快,但是占内存大。

UTF-8:

UTF-8编码可以理解成Unicode编码的一种升级,为了节省存储空间。UTF-8根据实际使用情况调节存储编码的位数,将所有的字符和符号进行分类:ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存等等

GBK:

GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示。

注:

  cmd终端默认GBK
  unicode   utf8   gbk(针对中文)
  utf8: 3,用3个字节表示中文
  gbk : 2,用2个字节表示中文

ASCII码:

计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASCII码。ASC码II包括数字大小写字母和常用符号,一共128个,1字节(Byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1Byte

Unicode编码:

计算机进入中国后,ASCII完全不够用,于是我们就制定了自己的GB2312编码,把汉字编码了进去。类似的在各国都有相同的情况,各国都开始制定自己的一套编码,计算机的编码越来越庞大,越来越乱,为了解决这一问题,Unicode应运而生。Unicode将各国文字统一编码,所以Unicode编码可以看做是ASCII的扩展。特点:速度快,但是占内存大。

UTF-8:

UTF-8编码可以理解成Unicode编码的一种升级,为了节省存储空间。UTF-8根据实际使用情况调节存储编码的位数,将所有的字符和符号进行分类:ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存等等

GBK:

GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示。

注:

  cmd终端默认GBK
  unicode   utf8   gbk(针对中文)
  utf8: 3,用3个字节表示中文
  gbk : 2,用2个字节表示中文

ASCII码:

计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASCII码。ASC码II包括数字大小写字母和常用符号,一共128个,1字节(Byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1Byte

Unicode编码:

计算机进入中国后,ASCII完全不够用,于是我们就制定了自己的GB2312编码,把汉字编码了进去。类似的在各国都有相同的情况,各国都开始制定自己的一套编码,计算机的编码越来越庞大,越来越乱,为了解决这一问题,Unicode应运而生。Unicode将各国文字统一编码,所以Unicode编码可以看做是ASCII的扩展。特点:速度快,但是占内存大。

UTF-8:

UTF-8编码可以理解成Unicode编码的一种升级,为了节省存储空间。UTF-8根据实际使用情况调节存储编码的位数,将所有的字符和符号进行分类:ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存等等

GBK:

GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示。

注:

  cmd终端默认GBK
  unicode   utf8   gbk(针对中文)
  utf8: 3,用3个字节表示中文
  gbk : 2,用2个字节表示中文

猜你喜欢

转载自www.cnblogs.com/wupiao/p/11296150.html