各种不同字节码的介绍

  编码:就是用二进制数表示计算机中的控制符大小写字母数字中文汉字

  历程

  1、ascii 码

  ascii 就是用一个字节去表示计算机中的控制符、大小写字母、数字以及符号和其他的图案。

  一个字节是8位,也就是有 256 个数 ,所以可以用来表示 256 个东西。

  0 - 32 来表示各种控制,叫做控制码(如:10代表换行,7表示声音)。

  32 - 126 则代表大小写字母、符号等

  还有 128 个数,则是用于扩展一些图案等。

  2、iso-8859-1 编码

  在欧洲的国家和其他国家也有自己的语言。(如:阿拉伯数字、希腊语)

  这里也需要能够在计算机用某个二进制数来表示。

  这时候,他们利用了 ascii 码剩下的 128 个数。

  也就是它也是一个字节,只是在 ascii 码上面进行了扩展

  3、GBK 编码

  ascii 可以用来表示字母和符号,但是中文是无法表示的。

  所以国人就规定一套自己的规定:

  当一个自己表示的数字小于 127 的时候,任然用 ascii 来表示。

  当某个字节大于 127 且紧接着的后面的一个字节也必须大于 127,这时候就会用这两个字节来表示一个汉字。

  第一字节就称为高自己,第二个则称为低字节。

  以上就是 gb2312 的编码规则。

  但是汉字会有很多,这个时候就进行了重新规定:

  只要某一个字节大于 127 ,则就会与后面的字节来一起代表汉字,所以低字节就不需要大约 127 ,则样就可以表示更多的汉字。

  以上是标准的 gbk 的编码规则。

  

  3、unicode 编码

  规定了所有的字符(文字、符号、字母等)都用 2/4 个字节的二进制来表示。

  也就是都用两个字节来表示。这样可以用呢但字节表示的字符,就会浪费资源。

  utf-16 是 unicode 的具体实现,两个字节。

  utf-32 也是 unicode 的具体实现,四个字节。

  4、utf-8 

  utf-8 也是 unicode 编码的实现。

  utf-8 可变长度的编码方式,可以用 1 - 4 个自己来表示字符。

  单字节:自己的第一位为 0 ,后面 7 位表示字符,和 ascii 一样表示

  n字节:第一个字节的前 n 位都为 1 ,n+1 位未 0,其他字节的话开始都是 10 开始。

  

原文地址:https://www.cnblogs.com/jiebba/p/10287400.html