编码

1.一个字节==8位二进制数,1Byte == 8bits(比特),一比特就是占二进制数的一位

十进制2的n次方转换成二进制数,这个二进制数有n+1比特位

2.ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节

Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节】

GBK编码,一个汉字占两个字节。

3.字符到二进制数的过程叫做“编码”

  二进制数到字符的过程叫做“解码”

4.字符集:字符的集合;ASCLL字符集,UTF-8字符集等等,包含一些字符以及其对应编码数字

5.Unicode是万国码,UTF就是Unicode转换格式,UTF-8,UTF-16都跟它密切相关

6.Unicode为每个字符定制属于自己的ID,这个ID叫做“码点”,码点就是二进制数,“码元”是码点的切分单位

    比如说UTF-8,码元有8位,将码点的二进制数以8位为一个单位,也就是一个码元;

ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节

Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节

7.编码和解码示意图:

8.ASCLL表

9.GB2312编码

 10.GBK

11.GB18030

12.big5

13.编码表总结

二.兼容和乱码

  1.兼容:A兼容B是指A包含B,B的全部内容,A都有,而且A还有B一些没有的

  2.乱码:相同的字符读和取时用了不兼容的两套编码方案

兼容:

 乱码:

 3.Unicode

  

   (1)UTF-32:Unicode编码的16进制码值直接换算为二进制存到计算机中,每个字符都用4个字节表示

  (2)UTF-16:平时常用字符基本是2个字节表示,其余用4个字节表示。平时说的Unicode编码一般是UTF-16

  (3)UTF-8:英文字符用一个字符表示,大部分中文用三个字节表示。这样做的目的是为了节省空间

原文地址:https://www.cnblogs.com/ibcdwx/p/12301263.html