编码历史ASCII、Unicode、utf-8和GBK

ASCII编码:用来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符,一个字符共8位,占一个字节。

ASCII编码是由美国国家标准协会制定的标准的单字节字符编码方案,用来存储计算机中的数据。

Unicode:ASCII编码具有一定的局限性,不能表示中文等其它语言,所以,国际组织制定了可以容纳更多文字和符号的字符编码方案----unicode。Unicode在创建之初用16位2个字节来表示一个字符,但是依然发现不能显示全世界所有的文字,所以对Unicode编码进行了改进,用32位4个字节来表示一个字符,但是英文字母和数字等字符用8位就能表示,改成32位是对资源的极大浪费。

utf-8:utf-8是一种针对Unicode的可变长度字符编码,最少用8位去表示一个字节,UTF-8编码规则:如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。

GBK:国标,只有中国人自己用,一个中文字符用两个字节,16位表示。但不能包含全部汉字。

单位转换:

8bit(位) = 1bytes

1024bytes = 1kb

1024kb = 1MB

1024MB = 1GB

1024GB = 1TB

原文地址:https://www.cnblogs.com/Ming-Hui/p/8330053.html