诞生的先后顺序
ASCII–>Unicode–>UTF-8
ASCII
美国指定的一套编码格式,一共128个字符,每一个字符都有对应的一个唯一数字标识,对于英语来说已经够用了
Unicode
因为ASCII只适合英语,对于其他语言不够用,所以诞生了各种各样的编码格式,为了避免格式混乱(比如发件的编码格式和收件的编码格式不一致就会导致乱码),诞生了“大一统”编码格式–Unicode,Unicode包含了世界上所有的字符
UTF-8
Unicode解决了兼容性问题,但是存在另一个问题—定义什么样的编码方式进行表示和存储,因为每个符号的唯一数字标识都不一样,转换成二进制可能只需要一个字节就可以表示,有些可能需要两个字节,有些需要3到4个字节才能表示,
如果统一定义成4个字节表示一个符号,那么那些只需要一个字节就能表示的符就要占用三个不必要的字节,这是比较浪费存储的
UTF-8的出现解决了这一问题,这种编码方式是变长的,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,这样就解决了存储浪费的问题,所以UTF-8是Unicode比较好的实现方式